728x90 전체 글250 [백준] 21318번 : 피아노 체조 https://www.acmicpc.net/problem/21318 i번째 난이도가 i - 1번째 난이도보다 쉽다면 실수할 수 있기 때문에 1을 추가하면 됩니다.그걸 1 ~ N까지 미리 구한 후, 누적합을 활용하여 합을 구해놓은 뒤, testcase마다 y - x 형식으로 값을 출력하면 됩니다. import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Main { public static void main(String[] args) throws IOException{ BufferedReader br = new Buffe.. 2024. 11. 7. 4000문제 solve 2021년부터 계속 알고리즘 문제를 풀면서, 문제 출제 및 검수도 해보고, 외부 IP를 활용해서 대회도 개최해 보고, 여러 가지 다양한 것들을 해보았습니다. 2024-11-02 4000문제를 풀면서, 변경된 문제 출제조건을 만족하게 되었습니다.이러면서 새로운 시도인 저 혼자서 문제들을 준비하고 대회를 개최하고자, 임스컵이라는 백준 대회를 준비할 예정입니다.임스컵은 천천히 준비를 할 예정이며, 2000 문제 푼 임스와 같은 제목을 가진 문제들도 출제할 예정입니다. 그 전에, 이번년도에 개최되는 대회들을 준비중에 있습니다.2024 국민대학교 & 중앙대학교 연합 프로그래밍 경진대회와 제2회 유틸컵이 개최됩니다.많은 관심 부탁드립니다. 감사합니다. 2024. 11. 3. divide zero 오늘은 프로그래밍 언어에서 divide(나누기)시 발생하는 현상들에 대해서 다뤄보고자 합니다. System.out.println(1 / 0);다음 코드를 실행하면 어떤 결과가 나올까요?Exception in thread "main" java.lang.ArithmeticException: / by zero에러가 발생합니다. System.out.print(1.0 / 0);그러면 다음과 같은 코드를 실행하면 어떤 결과가 나올까요?Infinity예상과는 다르게 error가 발생하지 않습니다. GPT에 물어보니1.0 / 0: 이 연산은 double 타입과 int 타입의 혼합 연산입니다. 0은 정수 타입이지만, 1.0이 double이므로 Java는 자동으로 0을 double로 변환하여 계산합니다. 이 경우에도 0으.. 2024. 10. 27. 싸피 알고리즘 문제 출제 최근에 SW 개발자 취업&이직 카카오톡 오픈톡방을 운영중인 안산학생님의 추천으로 인하여 SSAFY를 수강하고 있는 학생들을 위하여 알고리즘 문제 출제를 진행하게 되었습니다. 이번에는 swea에서 문제 풀이와 출제를 진행하면서 경험했던 내용과 알고리즘 문제출제를 하면서 느낀점 에 대해서 적어보고자 합니다. SWEA 문제 출제 지금까지 백준 온라인 저지를 통하여 알고리즘 문제 풀이 및 출제, 검수를 진행해 보았었지만, swea를 통해서 진행하는 것은 처음이였습니다. 백준 온라인 저지에서는 BOJ HELP에 있는 문제 출제 조건을 만족하는 분들이 BOJ STACK을 통하여 문제 출제를 진행할 수 있습니다. BOJ STACK에서는 문제 지문, 예제 입출력을 작성하는 란과 데이터, 데이터 검증, 테스트할 수 있는.. 2024. 10. 17. [백준] 9250번 : 문자열 집합 판별 https://www.acmicpc.net/problem/9250 해당 문제는 N개의 문자들이 Q번 입력받은 문자열들의 부분집합으로 포함되어 있는지 확인하는 문제입니다.Trie와 KMP를 활용한 aho-corasick이라는 알고리즘 통해 해결항 수 있습니다. 트리에 insertvoid insert(String word) { Trie curNode = this; for(int i = 0; i kmp의 fail함수를 트리형태로public void computeFailFunc() { Queue queue = new LinkedList(); this.fail = this; queue.add(this); while(!queue.isEmpty()) { Trie cur = queue.poll();.. 2024. 10. 13. 지수 표현 제거(JAVA) java에서 float나 double로 소수점이 긴~ 숫자를 표현하고자 하면 8.0E-9 와 같이 표현이 됩니다.이런 경우, 프론트에서 해당 값을 가져와 표현해줄 때, 지수 표현을 제거해야 하는 경우가 발생할 수 있습니다.실수값을 지수표현을 제거하여 표현하는 방법이 뭐가 있을까 하면서 시도해본 내용에 대해 공유드리고자 합니다. float로 표현System.out.print((float)(0.000000008));8.0E-9 double로 표현System.out.print((double)(0.000000008));8.0E-9 bigdecimal로 표현System.out.print(BigDecimal.valueOf(0.000000008));8.0E-9 bigdecimal.toString()로 표현Syste.. 2024. 9. 29. jar 파일에 한글 입력하기 (feat. PHP, JAVA) PHP에서 java로 만든 바이너리인 jar 파일을 실행시킬 때 한글이 깨지는 현상이 발생합니다.이 경우 -Dfile.encoding=utf-8로 해결되기도 하지만, 특정 서버에서 해결이 되지 않는 경우가 있습니다.그럴 경우, 발상의 전환으로 '꼭 한글로 보내야 하나?'라는 생각을 해보시면 됩니다.보내고자 하는 한글 데이터를 특정 문자로 encoding해서 보내면? 이라는 생각을 들게 되어 해당 문제를 해결했습니다. $data = "안녕";$cmd = "java -jar app.jar urlencode($data)";shell_exec($cmd);와 같이 실행을 하게 되면 "%EC"와 같은 한글을 url에 입력했을 떄 나오는 urlencoding을 거친 데이터가 jar파일에 전달이 됩니다.String d.. 2024. 9. 9. 시간 측정 테스트시 주의할 점 public static void main(String[] args) { // Test data int n = 100000; // Example value for n int[] sArray = {200, 400, 800}; // Example array of station locations int w = 100; // Example value for w // Measure time for the first solution long startTime1 = System.nanoTime(); int result1 = solution1(n, sArray, w); long endTime1 = System.nanoT.. 2024. 9. 2. 순서가 보장되는 map과 set java에는 Map과 Set으로 HashMap과 HashSet, TreeMap과 TreeSet이 있습니다.cpp에는 같은 효과를 내는 unordered_map과 unordered_set, map과 set이 있습니다. 이 모든 map과 set은 순서를 보장하지 않죠. 알고리즘 문제를 풀거나, 프로젝트를 개발하다보면순서가 보장되면서, key값이 중복되지 않는 것들을 추려야 하는 경우가 발생합니다. 이런 경우 LinkedHashMap과 LinkedHashSet이라는 라이브러리 함수를 통해 진행이 가능합니다. LinkedHashSet set = new LinkedHashSet();set.add(1);set.add(2); System.out.print(set);다음과 같이 사용할 수 있으며, 결과는 다음과 같습.. 2024. 8. 25. 이전 1 2 3 4 5 6 7 8 ··· 28 다음 728x90