목록분류 전체보기 (73)
delpho
Think 괄호를 활용해서 최솟값을 만들 수 있는 방법은, - 값을 최대로 만들도록 해야한다. 예를들어, 20+30-10+50-70 라면, 20+30-(10+50)-(70) 와 같이 만들어주어야 한다. 그래서 처음 구현 아이디어는, 해당 식에 직접 괄호 문자를 추가한 후, 하나씩 파싱하며 값을 계산했는데 구현이 넘 복잡해지고 틀리기도 했다. 구글링을 통해 풀이를 살펴보니, StringTokenizer나 String.split()을 통해 - 부호를 기준으로 문자열들을 나눈 후, 각각 문자열을 + 부호로 또 나눠서 더해준 뒤 값을 계산한다. 나뉜 문자열의 처음 값은 + 값이기 때문에 이 값을 처리해야하는데, sum 변수를 Integer.MAX_VALUE로 초기화 후 if문을 통해 저장한다. sum = 0으로..

문제 링크 성능 요약 메모리: 229620 KB, 시간: 4100 ms 분류 수학(math), 정수론(number_theory), 소수 판정(primality_test), 에라토스테네스의 체(sieve) 문제 설명 1보다 큰 자연수 중에서 1과 자기 자신을 제외한 약수가 없는 자연수를 소수라고 한다. 예를 들어, 5는 1과 5를 제외한 약수가 없기 때문에 소수이다. 하지만, 6은 6 = 2 × 3 이기 때문에 소수가 아니다. 골드바흐의 추측은 유명한 정수론의 미해결 문제로, 2보다 큰 모든 짝수는 두 소수의 합으로 나타낼 수 있다는 것이다. 이러한 수를 골드바흐 수라고 한다. 또, 짝수를 두 소수의 합으로 나타내는 표현을 그 수의 골드바흐 파티션이라고 한다. 예를 들면, 4 = 2 + 2, 6 = 3 +..
[Silver III] 숫자 야구 - 2503 문제 링크 성능 요약 메모리: 11916 KB, 시간: 88 ms 분류 브루트포스 알고리즘(bruteforcing), 구현(implementation) 문제 설명 정보문화진흥원 정보 영재 동아리에서 동아리 활동을 하던 영수와 민혁이는 쉬는 시간을 틈타 숫자야구 게임을 하기로 했다. 영수는 1에서 9까지의 서로 다른 숫자 세 개로 구성된 세 자리 수를 마음속으로 생각한다. (예: 324) 민혁이는 1에서 9까지의 서로 다른 숫자 세 개로 구성된 세 자리 수를 영수에게 묻는다. (예: 123) 민혁이가 말한 세 자리 수에 있는 숫자들 중 하나가 영수의 세 자리 수의 동일한 자리에 위치하면 스트라이크 한 번으로 센다. 숫자가 영수의 세 자리 수에 있긴 하나 다른 ..
문제 링크 성능 요약 메모리: 26404 KB, 시간: 192 ms 분류 수학(math), 정수론(number_theory), 소수 판정(primality_test), 에라토스테네스의 체(sieve) 문제 설명 M이상 N이하의 소수를 모두 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. 출력 한 줄에 하나씩, 증가하는 순서대로 소수를 출력한다. 문제 풀이 리뷰 주어진 조건을 보니 이중 for문으로 돌면 시간 초과가 뜰거같았다 그래서 시간복잡도를 최대한 줄이기 위해, 제곱근까지의 범위로 소수를 구했지만 답이 계속 틀렸다 (이유는 모름) import java...