본문 바로가기

백준166

[백준] '머리 톡톡' 1241번 - Java https://www.acmicpc.net/problem/1241문제풀이해시맵과 소수판정을 이용하여 풀었습니다. 소수판정을 할 때 약간 주의하면 됩니다.시간 초과 해결을 위해 Math.sqrt()이하까지만 반복할 것약수라 판정될 경우약수가 map에 있는지 존재 여부 확인, 있다면 value값 만큼 answer 갱신만약 약수가 1이라 자기자신이 나올 경우, 이 경우에는 answer를 1만큼 빼주기만약 4/2 = 2와 같이 key/i == i가 되는 경우, map.get(i) 만큼 다시 빼주기 그리고 hashmap을 이용하여 풀어서 result라는 배열을 따로 만들어 해당 번호를 들고있을 사람이 머리를 톡톡 치는 횟수를 저장한 뒤, 출력합니다.import java.io.*;import java.util.*;.. 2024. 9. 14.
[백준] 2212번 '센서' - Java https://www.acmicpc.net/problem/2212문제풀이import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.valueOf(br.readLine()); int k = Integer.valueOf(br.readLine()); int answer = 0; if(n > k) { int[] sensor = new int[n]; StringTokenizer st = n.. 2024. 9. 6.
[백준] 1052번 '물병' - Java https://www.acmicpc.net/problem/1052문제풀이n을 비트로 나타내어 1의 개수가 하나의 병이라고 보면 됩니다.만약 13이라고 한다면, 1101 이니 3개의 병에 담겨 있겠죠. k=2 이므로 1의 개수가 2 이하이어야 합니다.n을 1씩 더하여 비트 1의 개수가 k보다 작거나 같다면 수행을 중지시켜서 cnt를 알아냅니다.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 { Bu.. 2024. 8. 27.
[백준] 1111번 'IQ TEST' - Java https://www.acmicpc.net/problem/1111문제풀이 조건은 이렇게 나뉩니다.1. n =1 일 경우 → ans="A"2. n = 2 일 경우 - 두 수가 같을 경우 → 두 수가 0이라면 ans="0" (/zero 예외)  |  0이 아니라면 ans="arr[0]" - 두 수가 다를 경우 → ans = "A"3. n >= 3 일 경우 - a와 b의 규칙에 맞음 → ans = arr[n-1] * a + b - a와 b의 규칙에 맞지 않음 → ans = "B"  3번의 경우는 중학생 때 배웠던 일차방정식의 a와 b를 구하는 방식을 이용했습니다.먼저 arr[0], arr[1], arr[2] 을 통해 a와 b를 구하고, a와 b가 모든 값에 동일하게 작용하는지 테스트 하여 맞지 않으면 B를, .. 2024. 8. 26.
[백준] 1325번 '효율적인 해킹' - Java https://www.acmicpc.net/problem/1325문제풀이import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.HashSet;import java.util.LinkedList;import java.util.Queue;import java.util.Set;import java.util.StringTokenizer;public class Main { static boolean[] visited; static ArrayList[] matrix; static int[] cnt; public static void .. 2024. 8. 22.
[백준] 1105번 '팔' - Java https://www.acmicpc.net/problem/1105문제풀이L과 R의 자리수가 다를 경우 → ans =0L과 R의 자리수가 같은 경우가장 큰 자리수 부터 10의 자리까지 반복문같은 자리의 수가 같고 '8'인지 확인 → ans ++같지만 8이 아닌 것은 continue지만, 같지 않은 수는 break 해야함 (예를 들면, 780과 789에서 7은 continue해야함)두 수가 같은데 마지막이 8이라면 → ans ++ (10의 자리까지 방문하기 때문에 따로 처리)import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public cl.. 2024. 8. 21.