본문 바로가기

PS/백준14

[백준] ATM - 11399 Java import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; public class Main { /** * 그리디 * 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. * 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) * 가장 시간이 적게 사람들을 줄을 세우는 방법 * 입력 예) * 5 * 3 1 4 3 2 * 출력 예) * 32 */ public static void main(String[] args) throws IOExcep.. 2024. 4. 8.
[백준] 주유소 - 13305 Java import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { /** * 주유소 * 주유소 마다 리터강 가격이 주어지며 주유소 사이에 거리가 주어진다. * 첫 번째 줄에는 도시의 개수를 나타내는 정수 N(2 ≤ N ≤ 100,000)이 주어진다. * 다음 줄에는 인접한 두 도시를 연결하는 도로의 길이가 제일 왼쪽 도로부터 N-1개의 자연수로 주어진다. * 다음 줄에는 주유소의 리터당 가격이 제일 왼쪽 도시부터 순서대로 N개의 자연수로 주어진다. * 제일 왼쪽 도시부터 제일 오른쪽 도시까지의 거리는 1이상 1.. 2024. 4. 8.
[백준] 오아시스 재결합 - 3015 Python 플레5 문제인 오아시스 재결합 문제이다. 스택을 사용하여 문제를 풀었다. 겁도 없이 플레5 문제를 풀게 되었는데 스택을 사용한다는 것을 알고 있으니 생각보다는 괜찮았던 것 같다. (몇 시간 걸리긴 했지만) 확실히 Java 보다는 Python이 좀 더 간편한 것 같다. 자바로 푼 건 파이썬으로, 파이썬으로 푼건 자바로 풀어봐야겠다. # 두 사람 A와 B가 서로 볼 수 있으려면, 두 사람 사이에 A 또는 B보다 키가 큰 사람이 없어야 한다. # 줄에 서있는 사람의 키가 주어졌을 때, 서로 볼 수 있는 쌍의 수를 구하는 프로그램 import sys # 입력 N(1 2024. 3. 4.
[백준] 두 배열의 합 - 2143 Java 백준의 두 배열의 합 문제를 풀어보았다.(Java) 구현에 사용한 알고리즘은 TwoPointer이다. TwoPointer에 대해 생소하여서 기존에 풀었던 기초라고 생각한 문제로 다시 풀어보았다. 이번 문제로 개념을 좀 잡은 것 같다. 작성한 코드는 아래와 같다. 두 배열의 부분합을 계산한 뒤 리스트에 넣고 정렬한다. 정렬한 리스트를 토대로 투 포인터를 사용하여 제시한 합과 동일한 부분합을 계산한다. package baekjoon; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Collections; impo.. 2024. 2. 18.