ALGORITHM (212) 썸네일형 리스트형 백준 1764 듣보잡 (Java) 1. 문제 링크 1764번: 듣보잡 첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다. www.acmicpc.net 2. 문제 및 입출력예제 3. 문제 풀이 처음에는 반복문을 N과 M만큼 돌면서 ArrayList에 추가하고 다른 for문으로 검사를 했다. 그러나 시간초과라는 결과가 발생했고 검사하는 과정을 M번 도는 반복문에 추가했다. 그래도 시간초과가 나온다. 그 이유는 List에서 탐색이 오래 걸리기 때문이었고, 중복이 없다는 전제가 있어 Set으로 변경했다. 그 결과 성공적인 결과가 나왔다. 4-1 코드 제출 후 맞았습니다!!가 나왔지만 사전순으로 출력.. 백준 6065 카잉 달력 (Java) 1. 문제 링크 6064번: 카잉 달력 입력 데이터는 표준 입력을 사용한다. 입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어진다. 각 테스트 데이터는 한 줄로 구성된다. www.acmicpc.net 2. 문제 및 입출력예제 3. 문제 풀이 처음에는 다른 문제 풀듯이 연도를 +하면서 했더니 시간 초과라는 결과가 나왔다. 그래서 반복문의 횟수를 조금이라도 줄이려고 최소공배수를 구해서 돌렸지만 역시나 시간 초과..가 발생했다. 반복문 안의 내용을 효율적으로 돌리기 위해 갖가지 방법을 생각해보다 x를 M만큼 더하면서 그때의 연도%N이 y가 되는지 확인해봤고 그래도 틀린 답이 나오는 경우가 있어서 예시를 생각하면서 하나씩 생각해보니까 시작이 1 1이어서.. 백준 11047 동전 0 (Java) 1. 문제 링크 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 2. 문제 및 입출력예제 3. 문제 풀이 오름차순으로 주어지는 동전을 배열에 넣은 후 K를 배열의 뒤부터 빼는 반복문을 돌리면 된다. 4. 코드 import java.io.BufferedReader; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws Exce.. 백준 1010 다리놓기 (Java) 1. 문제 링크 1010번: 다리 놓기 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 강의 서쪽과 동쪽에 있는 사이트의 개수 정수 N, M (0 < N ≤ M < 30)이 주어진다. www.acmicpc.net 2. 문제 및 입출력예제 3. 문제 풀이 N개와 M개 중 경우의 수를 구하는 문제이다. 조합 문제로 N 백준 1157 단어 공부 (Java) 1. 문제 링크 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net 2. 문제 및 입출력예제 3. 문제 풀이 출력조건이 대문자라서 toUpperCase()를 이용해 전부 대문자로 만든다. split이 아닌 charAt()을 이용해 한 글자씩 뽑아서 아스키코드의 알파벳으로 바꾸고 반복문을 돌리며 카운트를 한다. 4. 코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; public class Main { public static v.. 백준 8958 OX퀴즈 (Java) 1. 문제 링크 8958번: OX퀴즈 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수 www.acmicpc.net 2. 문제 및 입출력예제 3. 문제 풀이 합을 저장하는 변수와 연속되는 숫자를 세는 변수를 선언한다. 그리고 O가 나오면 연속되는 숫자값을 +1하고, 합에 더한다. X가 나오면 연속되는 숫자값을 0으로 바꾼다. 4. 코드 import java.io.BufferedReader; import java.io.FileInputStream; import java.io.InputStreamReader; public class Main {.. 백준 1547 공 (Java) 1. 문제 링크 1547번: 공 첫째 줄에 컵의 위치를 바꾼 횟수 M이 주어지며, M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 M개의 줄에는 컵의 위치를 바꾼 방법 X와 Y가 주어지며, X번 컵과 Y번 컵의 위치를 서로 바꾸는 것 www.acmicpc.net 2. 문제 및 입출력예제 3. 문제 풀이 컵 바꾸기 게임이라 두 컵의 숫자가 주어진다. 두 숫자 중 현재 공의 위치인 컵이 있다면 바꾸는 과정을 반복한다. 4. 코드 import java.io.BufferedReader; import java.io.FileInputStream; import java.io.InputStreamReader; public class Main { public static void main(String[] args) .. 백준 1931 회의실 배정 (Java) 1. 문제 링크 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net 2. 문제 및 입출력예제 3. 문제 풀이 처음에는 입력받은 시작 시간과 종료 시간의 차이가 짧은 순으로 정렬을 하려고 했다. 회의 시간이 짧을수록 다른 회의가 더 많이 진행될 수 있다는 생각을 했기 때문이었는데 그렇게 하다보니 반복문도 너무 많이 나오고 리스트의 길이가 길어질 때 반복문을 도는 횟수가 훅 훅 늘어났다. 그래서 다른 사람의 풀이를 참고했다. 회의 종료 시간을 기준으로 정렬을 하면 한 회의의 종료시간과 다른 회의의 시작시간을 비교하면 끝이라 간단하게 코드를 짤 수 있었다. 4. 코드 import java.io.BufferedReader; import.. 이전 1 ··· 22 23 24 25 26 27 다음