본문 바로가기

백준 풀이18

[백준 풀이_Java] 1316 그룹단어 체커 처음 생각 비교 기준이 되는 알파벳을 @, @ 바로 이전의 알파벳을 #, @ 이전의 알파벳들 중 # 을 제외한 알파벳들을 % 라고 하자 그러면 비교하려는 시점의 알파벳은 %...%#@ 라고 표현할 수 있다 처음에는 charAt 을 이용해서 이중 for 문으로 비교하려고 했다 @이 바로 #과 같으면 %들과 비교해서 바로 # 이외에 또 중복되는 게 있는지 확인하고 @이 #과 다르면 %들과 비교해서 중복되는 게 있는지 확인한다 지금 생각해보면 비교하는 기준이 이상하긴 한데 여튼 이렇게 생각하니까 풀리지 않았다 그리고 한 가지 간과한 사실은 @이 #과 같다는 것은 이미 %들이 중복되는 것이 없다는 말이다 즉, @과 #을 비교하려 하는 시점에는 %들은 중복되지 않았다는 검증을 거친 것이다 그러므로, @이 #과 같.. 2021. 10. 27.
[백준 풀이_Java] 1946 신입사원 처음 생각 '서류와 면접 중 적어도 하나는 다른 지원자보다 떨어지지 않는 자만 선발한다' 는 말의 의미는 '서류와 면접 둘다 다른 지원자보다 떨어진다면 너는 탈락이다' 라는 의미이다 그래서 처음에는 탈락자가 누구인지를 세려고 했었는데 풀다보니까 탈락자를 세기보다는 합격자를 세는 것이 더 편했다 처음에는 2차원 배열에 서류와 면접 등수를 넣고 서류의 등수대로 재배열하고자 했는데 그냥 1차원 배열의 인덱스에 서류의 등수를, 값에 면접의 등수를 넣으면 자동으로 등수대로 재배열된 효과가 있다 배열의 인덱스에 서류의 등수는 오름차순으로 되어있으니 이제 면접의 등수를 비교하면 된다 내가 푼 방법 처음에는 아래와 같이 제출했다 import java.io.BufferedReader; import java.io.IOEx.. 2021. 10. 23.
[백준 풀이_Java] 1026 보물 처음 생각 문제에 나온대로 배열 B 를 손대지 않고 배열 A 를 재배열해서 풀려고 했는데 너무 어려워서 원래 이렇게 어려운 난이도인가 하고 생각했는데 알아보니까 배열 B 랑 A, 정렬해서 푸는 문제더만!! =ㅅ= 이런 표정으로 A 는 오름차순, B 는 내림차순하고, 반복문 안에서 곱하고 더해서 리턴했다 내가 푼 방법 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.Collections; import java.util.StringTokenizer; public class Main { public static void.. 2021. 10. 22.
[백준 풀이_Java] 1463 1로 만들기 나의 처음 생각 3으로 나누었을 때 나머지가 0인지, 그리고 0이 아닐 때 홀수인지 짝수인지로 구분해서 어떤 규칙을 찾아내려고 했었다 그런데 규칙 찾기에는 실패했고 숫자를 키워가면서 경우의 수를 따졌을 때 더 작은 숫자들의 나누기가 반복되는 것을 느꼈다 예를들어, 숫자 22를 갖고 연산할 때 22-> 21-> 7-> 6-> 2-> 1 에서 7을 갖고 연산할 때의 경우가 똑같이 반복되었다 구글링을 한 결과 '동적 계획법(Dynamic Programming)' 을 사용한 풀이임을 알게되었다 Bottom-Up 방식 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main.. 2021. 10. 19.
[백준 풀이_Java] 5585 거스름돈 처음 생각 처음에는 정말 직관적으로 큰 잔돈부터 작은 잔돈까지 차례대로 나눠서 몫(동전의 개수)을 count 에 넣고 나머지(잔액)를 change에 남겼고 change가 0 이상일 때까지 진행했다 내가 푼 방법 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int pay = Integer.parseInt(br.rea.. 2021. 9. 2.
[백준 풀이_Java] 15881 Pen Pineapple Apple Pen 내가 푼 방법 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); String str = br.readLine(); String ex; int count =0; // pPAp for(int i=0; i 2021. 8. 29.