목록CodingTest (432)
기록방
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/rU0kA/btrUYpqZJAO/FvawKvzzK3Y0ic1f2eyn01/img.png)
👉 문제링크 1205번: 등수 구하기 첫째 줄에 N, 태수의 새로운 점수, 그리고 P가 주어진다. P는 10보다 크거나 같고, 50보다 작거나 같은 정수, N은 0보다 크거나 같고, P보다 작거나 같은 정수이다. 그리고 모든 점수는 2,000,000,000보 www.acmicpc.net 🔸 문제 분석 🔸 점수의 개수 n, 태수의 점수, 랭킹의 최대 수 p가 주어진다. n개의 점수가 비오름차순(중복 있는 내림차순)으로 주어진다. 태수의 점수가 랭킹의 몇 등인지 출력한다. 🔸 코드 🔸 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); in..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/YGOru/btrUTZyZAe9/GQ0Kw3XfPEBBOv3Df1aepK/img.png)
👉 문제링크 11656번: 접미사 배열 첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000보다 작거나 같다. www.acmicpc.net 🔸 문제 분석 🔸 입력된 문자열의 접미사를 사전순으로 정렬해 출력한다. 문자열의 인덱스를 0부터 끝, 1부터 끝, 2부터 끝 ... 형식으로 접미사를 뽑아낸다. 🔸 코드 🔸 import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String str = sc.next(); String[] arr = new String[str..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/uQ1DM/btrUOMUf4vy/NFePteuU3CixZ72epeBY61/img.png)
👉 문제링크 13305번: 주유소 표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 도시의 개수를 나타내는 정수 N(2 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 인접한 두 도시를 연결하는 도로의 길이가 제일 왼쪽 도로부터 N-1 www.acmicpc.net 🔸 문제 분석 🔸 n개의 마을이 일렬로 주어지며 n-1개의 도로가 있다. 마을마다 1L당 기름값이 주어지며, 도로 1km당 기름 1L가 필요하다. 최종 기름값의 최소값을 출력한다. 전형적인 그리디 알고리즘 문제이다. 가장 가성비 좋게 기름을 구입하기 위해서, 최종 도시에서 거꾸로 빼는 방식으로 계산한다. 도로의 길이와 도시 별 기름값의 최대 값이 10억이므로 long형을 사용한다. 🔸 코드 🔸 import java.io.BufferedR..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bfpaqw/btrTWMfyZv4/KvpB2cUaP3NlR9N9b0Vlzk/img.png)
👉 문제링크 1904번: 01타일 지원이에게 2진 수열을 가르쳐 주기 위해, 지원이 아버지는 그에게 타일들을 선물해주셨다. 그리고 이 각각의 타일들은 0 또는 1이 쓰여 있는 낱장의 타일들이다. 어느 날 짓궂은 동주가 지원이 www.acmicpc.net 🔸 문제 분석 🔸 타일을 놓는 경우의 수를 n에 따라 나열하면 1, 2, 3, 5, 8...순으로 피보나치 수열이다. 🔸 코드 🔸 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[] dp = new int[n+2]; dp[1] = 1; d..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cpvMh8/btrTT7qkYFC/Z8ErqPIdbLuL0Hd5FiVjxK/img.png)
👉 문제링크 14501번: 퇴사 첫째 줄에 백준이가 얻을 수 있는 최대 이익을 출력한다. www.acmicpc.net 🔸 문제 분석 🔸 N일동안 업무를 수행한다. N개의 업무의 처리에 필요한 시간 t와 받는 금액 p가 있다. 처리에 필요한 시간이 N일을 넘으면 처리 불가능하다. 받을 수 있는 금액의 최대값을 출력한다. 재귀 메소드로 브루트 포스 방식으로 풀이할 수 있다. 다이나믹 프로그래밍 방식으로 풀이할 수 있다. 🔸 코드 🔸 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[] t = ..