본문 바로가기

알고리즘

(171)
백준 5565 영수증 자바 풀이 난이도 : 브론즈3 풀이일 : 07027 https://www.acmicpc.net/problem/5565 5565번: 영수증 첫째 줄에 10권의 총 가격이 주어진다. 둘째 줄부터 9개 줄에는 가격을 읽을 수 있는 책 9권의 가격이 주어진다. 책의 가격은 10,000이하인 양의 정수이다. www.acmicpc.net 링크로 이동하기 귀찮은 분들을 위한 문제 캡쳐 풀이 코드 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int total = scan.nextInt(); for (int i = 0; i < 9; i++) { tota..
백준 10824 네 수 자바 풀이 난이도 : 브론즈3 풀이일 : 07016 https://www.acmicpc.net/problem/10824 10824번: 네 수 첫째 줄에 네 자연수 A, B, C, D가 주어진다. (1 ≤ A, B, C, D ≤ 1,000,000) www.acmicpc.net 링크로 이동하기 귀찮은 분들을 위한 문제 캡쳐 풀이 코드 import java.util.Scanner; public class J01_b_10824 { public static void main(String[] args) { Scanner scan = new Scanner(System.in); String a = scan.next(); String b = scan.next(); String c = scan.next(); String d = s..
백준 2501 약수 구하기 자바 풀이 난이도 : 브론즈3 풀이일 : 06305 https://www.acmicpc.net/problem/2501 2501번: 약수 구하기 첫째 줄에 N과 K가 빈칸을 사이에 두고 주어진다. N은 1 이상 10,000 이하이다. K는 1 이상 N 이하이다. www.acmicpc.net 링크로 이동하기 귀찮은 분들을 위한 문제 캡쳐 풀이 코드 import java.util.*; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int A = scan.nextInt(); int K = scan.nextInt(); scan.close(); int t = 0; // K번째 까지 셀 변수 fo..
백준 3053 택시 기하학 자바 풀이 난이도 : 브론즈3 풀이일 : 06294 https://www.acmicpc.net/problem/3053 3053번: 택시 기하학 첫째 줄에는 유클리드 기하학에서 반지름이 R인 원의 넓이를, 둘째 줄에는 택시 기하학에서 반지름이 R인 원의 넓이를 출력한다. 정답과의 오차는 0.0001까지 허용한다. www.acmicpc.net 링크로 이동하기 귀찮은 분들을 위한 문제 캡쳐 풀이코드 import java.util.*; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); double r = scan.nextInt(); scan.close(); System.out.printf("%...
백준 5086 배수와 약수 자바 풀이 난이도 : 브론즈3 풀이일 : 06283 https://www.acmicpc.net/problem/5086 5086번: 배수와 약수 각 테스트 케이스마다 첫 번째 숫자가 두 번째 숫자의 약수라면 factor를, 배수라면 multiple을, 둘 다 아니라면 neither를 출력한다. www.acmicpc.net 링크로 이동하기 귀찮은 분들을 위한 문제 캡쳐 풀이 코드 import java.util.*; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int a = scan.nextInt(); int b = scan.nextInt(); // a, b가 0이 아니라면 반복 whil..
백준 11721 열 개씩 끊어 출력하기 자바 풀이 난이도 : 브론즈3 풀이일 : 06272 https://www.acmicpc.net/problem/11721 11721번: 열 개씩 끊어 출력하기 첫째 줄에 단어가 주어진다. 단어는 알파벳 소문자와 대문자로만 이루어져 있으며, 길이는 100을 넘지 않는다. 길이가 0인 단어는 주어지지 않는다. www.acmicpc.net 링크로 이동하기 귀찮은 분들을 위한 문제 캡쳐 풀이 코드 import java.util.*; public class Main { public static void main(String args[]) { Scanner scan = new Scanner(System.in); String word = scan.next(); scan.close(); for (int i = 0; i < word..
백준 10039 평균 점수 자바 풀이 난이도 : 브론즈4 풀이일 : 06261 https://www.acmicpc.net/problem/10039 10039번: 평균 점수 입력은 총 5줄로 이루어져 있고, 원섭이의 점수, 세희의 점수, 상근이의 점수, 숭이의 점수, 강수의 점수가 순서대로 주어진다. 점수는 모두 0점 이상, 100점 이하인 5의 배수이다. 따라서, 평균 점 www.acmicpc.net 링크로 이동하기 귀찮은 분들을 위한 문제 캡쳐 풀이코드 import java.util.*; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int total = 0; // 총 점수 합산 // 다섯 명 점 수 입력 f..
백준 2752 세수정렬 자바 풀이 난이도 : 브론즈4 풀이일 : 05033 https://www.acmicpc.net/problem/2752 2752번: 세수정렬숫자 세 개가 주어진다. 이 숫자는 1보다 크거나 같고, 1,000,000보다 작거나 같다. 이 숫자는 모두 다르다.www.acmicpc.net링크로 이동하기 귀찮은 분들을 위한 문제 캡쳐풀이 코드import java.util.*; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int a = scan.nextInt(); int b = scan.nextInt(); int c = scan.nextInt(); scan.close(); if(a < b) {..
백준 2638 치즈 파이썬 풀이 반례 난이도 : 골드3 풀이일 : 05151 https://www.acmicpc.net/problem/2638 2638번: 치즈 첫째 줄에는 모눈종이의 크기를 나타내는 두 개의 정수 N, M (5 ≤ N, M ≤ 100)이 주어진다. 그 다음 N개의 줄에는 모눈종이 위의 격자에 치즈가 있는 부분은 1로 표시되고, 치즈가 없는 부분은 0으로 www.acmicpc.net 링크로 이동하기 귀찮은 분들을 위한 문제 캡쳐 1차 시도 오답 -> 런타임에러(최대 재귀횟수 초과) import sys from collections import deque def air(x, y): # 외부 공간 숫자 변경 space = deque() space.append((x, y)) visited = [[0] * M for _ in ran..
백준 3046 R2 자바 풀이 난이도 : 브론즈4 풀이일 : 05033 https://www.acmicpc.net/problem/3046 3046번: R2 두 숫자 R1과 R2가 있을 때, 두 수의 평균 S는 (R1+R2)/2와 같다. 상근이는 정인이 생일 선물로 두 숫자 R1과 R2를 주려고 한다. 생일 파티에서 상근이는 정인이에게 이 두 숫자를 말해주고, 정인이는 www.acmicpc.net 링크로 이동하기 귀찮은 분들을 위한 문제 캡쳐 풀이 코드 import java.util.*; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int r = scan.nextInt(); int s = scan.nex..
백준 2338 긴자리 계산 자바 풀이 난이도 : 브론즈5 풀이일 : 05033 https://www.acmicpc.net/problem/2338 2338번: 긴자리 계산 첫째 줄에 A+B, 둘째 줄에 A-B, 셋째 줄에 A×B를 출력한다. 각각을 출력할 때, 답이 0인 경우를 제외하고는 0으로 시작하게 해서는 안 된다(1을 01로 출력하면 안 된다는 의미). www.acmicpc.net 링크로 이동하기 귀찮은 분들을 위한 문제 캡쳐 풀이 코드 import java.util.*; import java.math.*; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); BigInteger a = scan.nextBigIn..
백준 2206 벽 부수고 이동하기 파이썬 풀이 난이도 : 골드3 풀이일 : 05125 https://www.acmicpc.net/problem/2206 2206번: 벽 부수고 이동하기 N×M의 행렬로 표현되는 맵이 있다. 맵에서 0은 이동할 수 있는 곳을 나타내고, 1은 이동할 수 없는 벽이 있는 곳을 나타낸다. 당신은 (1, 1)에서 (N, M)의 위치까지 이동하려 하는데, 이때 최단 경로 www.acmicpc.net 링크로 이동하기 귀찮은 분들을 위한 문제 캡쳐 풀이 코드 import sys from collections import deque N, M = map(int, sys.stdin.readline().split()) arr = [sys.stdin.readline().strip() for _ in range(N)] visited = [[[..
백준 1271 엄청난 부자2 자바 풀이 난이도 : 브론즈5 풀이일 : 05033 https://www.acmicpc.net/problem/1271 1271번: 엄청난 부자2 첫째 줄에는 최백준 조교가 가진 돈 n과 돈을 받으러 온 생명체의 수 m이 주어진다. (1 ≤ m ≤ n ≤ 101000, m과 n은 10진수 정수) www.acmicpc.net 링크로 이동하기 귀찮은 분들을 위한 문제 캡쳐 1차 시도 오답 -> 런타임 에러 import java.util.*; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int total = scan.nextInt(); int people = scan.nextInt(); s..
백준 1600 말이 되고픈 원숭이 파이썬 풀이 난이도 : 골드3 풀이일 : 05127 https://www.acmicpc.net/problem/1600 1600번: 말이 되고픈 원숭이 첫째 줄에 정수 K가 주어진다. 둘째 줄에 격자판의 가로길이 W, 세로길이 H가 주어진다. 그 다음 H줄에 걸쳐 W개의 숫자가 주어지는데, 0은 아무것도 없는 평지, 1은 장애물을 뜻한다. 장애물이 있 www.acmicpc.net 링크로 이동하기 귀찮은 분들을 위한 문제 캡쳐 풀이 코드 # 1차 시도 -> 런타임 에러 visited 숫자가 커서 방문할 수 없지만, 벽으로 가로 막혀 나중에 말처럼 이동해야 하는 경우 import sys from collections import deque K = int(sys.stdin.readline().strip()) W, H = m..
백준 2440 별찍기3 자바 풀이 난이도 : 브론즈5 풀이일 : 05055 https://www.acmicpc.net/problem/2440 2440번: 별 찍기 - 3 첫째 줄에는 별 N개, 둘째 줄에는 별 N-1개, ..., N번째 줄에는 별 1개를 찍는 문제 www.acmicpc.net 링크로 이동하기 귀찮은 분들을 위한 문제 캡쳐 풀이 코드 import java.util.*; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int n = scan.nextInt(); scan.close(); String star = ""; for(int i = n; i > 0; i--) { for(int j = 0; j..
백준 1918 후위 표기식 파이썬 풀이 난이도 : 골드2 풀이일 : 03057 https://www.acmicpc.net/problem/1918 1918번: 후위 표기식 첫째 줄에 중위 표기식이 주어진다. 단 이 수식의 피연산자는 알파벳 대문자로 이루어지며 수식에서 한 번씩만 등장한다. 그리고 -A+B와 같이 -가 가장 앞에 오거나 AB와 같이 *가 생략되는 등의 www.acmicpc.net 링크로 이동하기 귀찮은 분들을 위한 문제 캡쳐 1차 시도 오답 import sys w = sys.stdin.readline() result = '' stack = [] for i in w: if i in '+-*/()': if i in '+-': if i == '+': while stack and stack[-1] in '-*/': result += st..
백준 2439 별찍기2 자바 풀이 난이도 : 브론즈5 풀이일 : 05033 https://www.acmicpc.net/problem/2439 2439번: 별 찍기 - 2 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오. www.acmicpc.net 링크로 이동하기 귀찮은 분들을 위한 문제 캡쳐 풀이 코드 import java.util.*; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int n = scan.nextInt(); scan.close(); String star = ""; String space = "..
백준 1238 파티 파이썬 풀이, 반례 난이도 : 골드3 풀이일 : 05092 https://www.acmicpc.net/problem/1238 1238번: 파티 첫째 줄에 N(1 ≤ N ≤ 1,000), M(1 ≤ M ≤ 10,000), X가 공백으로 구분되어 입력된다. 두 번째 줄부터 M+1번째 줄까지 i번째 도로의 시작점, 끝점, 그리고 이 도로를 지나는데 필요한 소요시간 Ti가 들어 www.acmicpc.net 링크로 이동하기 귀찮은 분들을 위한 문제 캡쳐 1차 시도 오답 -> 시간초과 import sys from collections import deque N, M, X = map(int, sys.stdin.readline().split()) load = deque([] for _ in range(N+1)) for _ in range..
백준 2439 별찍기2 자바스크립트 풀이 난이도 : 브론즈5 풀이일 : 04307 https://www.acmicpc.net/problem/2439 2439번: 별 찍기 - 2 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오. www.acmicpc.net 링크로 이동하기 귀찮은 분들을 위한 문제 캡쳐 풀이 코드 let input = require('fs').readFileSync('/dev/stdin').toString() let star = '' let space = '' for (let i = 1; i
백준 2438 별찍기1 자바 풀이 난이도 : 브론즈5 풀이일 : 05033 https://www.acmicpc.net/problem/2438 2438번: 별 찍기 - 1 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 www.acmicpc.net 링크로 이동하기 귀찮은 분들을 위한 문제 캡쳐 풀이 코드 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int n = scan.nextInt(); String star = ""; scan.close(); for(int i = 1; i