전체 글 (215) 썸네일형 리스트형 백준 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.. 백준 5585 거스름돈 (Java) 1. 문제 링크 5585번: 거스름돈 타로는 자주 JOI잡화점에서 물건을 산다. JOI잡화점에는 잔돈으로 500엔, 100엔, 50엔, 10엔, 5엔, 1엔이 충분히 있고, 언제나 거스름돈 개수가 가장 적게 잔돈을 준다. 타로가 JOI잡화점에서 물건을 사 www.acmicpc.net 2. 문제 및 입출력예제 3. 문제 풀이 그리디(탐욕) 알고리즘의 대표적인 문제이다. 1000엔 중 물건 가격을 뺀 잔돈을 구한 후 거스름돈의 개수가 가장 적게 나와야 한다. 반복문을 돌릴 때, 배열의 값보다 큰거나 같은 경우에는 빼고 아닐 경우에는 배열의 다음 값으로 넘어가도록 했다. 4. 코드 import java.io.BufferedReader; import java.io.InputStreamReader; public .. 백준 1085 직사각형에서 탈출 (Java) 1. 문제 링크 1085번: 직사각형에서 탈출 한수는 지금 (x, y)에 있다. 직사각형은 각 변이 좌표축에 평행하고, 왼쪽 아래 꼭짓점은 (0, 0), 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램 www.acmicpc.net 2. 문제 및 입출력예제 3. 문제 풀이 직사각형의 경계선까지의 거리를 구하는 문제이다. 그래서 주어진 입력과 꼭짓점의 x좌표 y좌표 사이와의 거리를 각각 구하면 된다. 4. 코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Scanner; public class Main { public static void main(Stri.. 백준 1436 영화감독 숌 (Java) 1. 문제 링크 1436번: 영화감독 숌 666은 종말을 나타내는 숫자라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타 www.acmicpc.net 2. 문제 및 입출력예제 3. 문제 풀이 몇번째로 666이 포함된 숫자인지 찾는 문제이다. count가 입력받은 숫자와 같아질때까지 반복문을 돌린다. 666부터 시작해 숫자를 크게 만들면서 "666"이 포함된 문자열인지 확인했다. 4. 코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Scanner; public class Main { publ.. 백준 1009 분산처리 (Java) 1. 문제 링크 1009번: 분산처리 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트 케이스에 대해 정수 a와 b가 주어진다. (1 ≤ a < 100, 1 ≤ b < 1,000,000) www.acmicpc.net 2. 문제 및 입출력예제 3. 문제 풀이 컴퓨터 10대로 a^b개의 데이터를 처리하는 문제이다. a와 b의 값이 커질수록 계산이 느려지고 시간 초과가 발생할 것 같았다. 그래서 a^b를 하되 10(컴퓨터 개수)으로 나눈 한자리 수만 남겨서 곱셈을 이어나갔다. 계산 결과를 출력하면 된다. 여기서 나머지가 0인 경우가 있는데 컴퓨터는 1~10대이기에 10으로 출력했다. 4. 코드 import java.io.BufferedReader; import java.io.. 백준 1152 단어의 개수 (Java) 1. 문제 링크 1152번: 단어의 개수 첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열 www.acmicpc.net 2. 문제 및 입출력예제 3. 문제 풀이 공백 기준으로 단어의 개수를 세는 코드를 작성하면 된다. 전체 입력의 앞뒤 공백을 trim()으로 제거한 문자열의 길이와 그 문자열에서 replace()로 공백을 모두 없앤 문자열의 길이의 차이 +1이 단어의 개수라고 생각했다. 하지만 82%? 86%정도에서 틀렸습니다를 만났다. 그 이유를 찾아보니까 공백만 입력될 경우에도 1이 출력되고 있었다. 그 부분을 수정해서 제출하니까 성공했다. 4. 코드 i.. 백준 1546 평균 (Java) 1. 문제 링크 1546번: 평균 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보 www.acmicpc.net 2. 문제 및 입출력예제 3. 문제 풀이 문제에 적혀있는 공식을 이용하면 된다. 그러나 여기서 중요한 점은 정수가 부정확하다는 점이다. 소수점이 있는 계산을 해야 하는데 int로 계산을 할 경우 예상과 다른 결과가 자주 나오기 때문에 정수를 실수로 바꾸는 과정이 필요하다. 4. 코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayLi.. 이전 1 ··· 23 24 25 26 27 다음