본문 바로가기

코딩테스트169

[백준] '머리 톡톡' 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.
[프로그래머스] Lv2. k진수에서 소수 개수 구하기 - Java https://school.programmers.co.kr/learn/courses/30/lessons/92335 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr풀이kForm에 k진법으로 변환된 결과를 뒤집힌 상태로 받습니다. StringTokenizer로 0을 기준으로 문자열을 분리하고, 문자열을 하나씩 검사하면서 StringBuffer로 뒤집어주어 소수를 판정합니다. 값이 크게 나올 경우 런타임에러(1번과 11번의 경우)가 날 수 있으므로 double 형태로 소수를 판정합니다. import java.util.*;class Solution { publi.. 2024. 9. 13.
[프로그래머스] Lv2. 타겟 넘버 - Java https://school.programmers.co.kr/learn/courses/30/lessons/43165 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr풀이방법1. DFS : Stack 이용 data(number 배열의 값)과 idx(number 배열의 인덱스)를 가진 Node 클래스를 이용하여 Stack으로 DFS 코드를 짰다.import java.util.*;class Solution { static class Node { int data; int idx; Node(int data, int .. 2024. 9. 12.
[백준] 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.