PS/BOJ764 [자바] 백준 18409 - 母音を数える (Counting Vowels) (java) 문제 : boj18409 필요 알고리즘 개념 문자열, 구현 문자열을 파싱해서 다룰 수 있어야 하는 구현문제이다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 일본어 문제라 못풀 것 같이 생기긴 했는데, 번역기 돌리면 된다. 이 문제의 경우엔 번역기 돌릴 것도 없이 예제 입출력 보면 어떻게 풀지 알수 있다. 뭔가 숫자가 들어오고, 문자가 들어오는데 문자 길이가 숫자와 동일하니 대충 길이라고 생각하면 되고, 그 아래에 _oi_.. 2022. 11. 25. [자바] 백준 10864 - 친구 (java) 문제 : boj10864 필요 알고리즘 개념 구현 별다른 알고리즘 지식 없이 문제에 제시된 대로 구현만 할 줄 알면 풀 수 있다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 1. N명의 학생에 대해 N+1크기의 배열 cnt[N+1]을 만들어보자. cnt[x]는 x번 학생의 친구 수를 나타낸다. 2. M개의 친구 관계 A B를 입력받는다. 그리고 cnt[A]++; cnt[B]++; 를 해준다. (A와 B가 친구면, B와 A.. 2022. 11. 25. [자바] 백준 2835 - 인기도 조사(java) 문제 : boj2835 필요 알고리즘 개념 누적합 알고리즘 약간의 배열 테크닉을 활용하면 누적합 알고리즘 만으로 풀 수 있다. 세그먼트 트리 lazy propagation 또는 range update - range query 펜윅 트리 누적합으로 풀려면 아이디어가 필요하다. 일반적으로는 세그먼트 트리 lazy propagation 혹은 펜윅 트리 응용을 통해 풀게 된다. 이하 풀이는 누적합을 통한 풀이이다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도.. 2022. 11. 16. [자바] 백준 1990 - 소수인팰린드롬 (java) 문제 : boj1990 필요 알고리즘 개념 소수 판정, 에라토스테네스의 체 팰린드롬도 판정해야하지만, 그보다 먼저 소수 판정을 할 수 있어야 한다. 에라토스테네스의 체를 알고 있어야 1억 이하의 소수를 효율적으로 구할 수 있다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 1. b 이하의 소수를 모두 구한다. 에라토스테네스의 체를 사용해 구해주면 된다. 이 때 sqrt(b) 까지만 확인해주면 된다. (에라토스테네스의 체 혹.. 2022. 11. 10. [자바] 백준 6322 - 직각 삼각형의 두 변 (java) 문제 : boj6322 필요 알고리즘 개념 피타고라스의 정리, 기하학 피타고라스의 정리를 알면 풀 수 있다! 문제에서도 공식이 주어지니 사실상 구현문제라고 봐도 될 것 같다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 경우를 나눠보면 아래와 같다. 1. c가 -1일 경우 c^2 = a^2 + b^2 이므로, c = sqrt(a^2 + b^2) 이다(sqrt는 제곱근을 뜻한다.). a와 b는 항상 양수로 주어질 것이므로 불.. 2022. 11. 10. [자바] 백준 2166 - 다각형의 면적 (java) 문제 : boj2166 필요 알고리즘 개념 기하학 신발끈 공식을 사용해 풀 수 있는 문제이다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 솔브닥 그래프에 기하학이 폭-삭 상태인데, 왠지 동그란게 이쁠 것 같으니 기하학을 공부해보기로 했다. 이 문제는 기하학의 사칙연산이라 불리는 CCW를 다양한 블로그 보면서 공부하고 있던 중에 만난 신발끈 공식으로 풀 수 있는 문제였다. 이하 노션에 개인 공부용으로 정리중인 벡터의 외적 .. 2022. 11. 9. [자바] 백준 17502 - 클레어와 팰린드롬 (java) 문제 : boj17502 필요 알고리즘 개념 구현, 문자열 문자열의 각 character를 파악하고, 문제의 규칙을 이해해서 구현해줘야 한다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 팰린드롬은 앞에서 읽으나 뒤에서 읽으나 동일해야 한다. 그 말인즉, 문자열의 양 끝에서 포인터를 두고 중간으로 점점 오면서 두 포인터가 가르키는 문자가 전부 동일해야 함을 의미한다. 아래의 경우 '3'과 '4'가 다르므로 팰린드롬이 아님을.. 2022. 11. 7. [자바] 백준 3724 - 표 (java) 문제 : boj3724 필요 알고리즘 개념 큰 수 연산, 브루트포스 문제에서 제시된 방식대로 모든 경우의수를 다 살펴보면 된다. 다만 엄청나게 큰 수 연산이 들어간.. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 주의점은 N과 M의 순서가 상당히 헷갈리게 들어오니 조심하자. 이 문제의 경우 모든 경우를 직접 해보면 된다. 즉, 각 열의 모든 수를 직접 다 곱해보고 비교하면 된다! 그러기 위해서는 대략 (2^31)^1000 .. 2022. 11. 7. [자바] 백준 13985 - Equality (java) 문제 : boj13985 필요 알고리즘 개념 문자열 파싱 문자열 파싱 문제이다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 A + B = C 형태의 입력에서, A, B, C를 뽑아낼 수 있다면 풀 수 있다. 심지어 1개의 문자로만 각 숫자가 주어진다고 했으므로 어려울게 없다. character 자체로 판단해도 되고, 어차피 공백으로 구분되어 있으므로 공백을 기준으로 잘라줘도 된다. 코드 : github import jav.. 2022. 11. 7. [자바] 백준 14268 - 회사 문화 2 (java) 문제 : boj14268 필요 알고리즘 개념 lazy propagation을 적용한 세그먼트 트리 혹은 펜윅 트리 세그먼트 트리 + lazy propagation 혹은 range update가 가능한 펜윅 트리를 알고 있어야 풀 수 있다. 오일러 경로 테크닉, DFS 알면 생각하기 좋은데, 바로 생각 못할만한 개념은 아니다(내 경우에도 처음 오일러 경로 테크닉을 접했을 때 풀고보니 저런 알고리즘이었다.). 어떠한 노드에서 그 아래로 내려가는 경로들을 1차원으로 펴서 연속된 구간을 생성하는 개념이다. 구할 때 DFS를 사용한다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 .. 2022. 11. 4. 이전 1 ··· 21 22 23 24 25 26 27 ··· 77 다음