[백준_python] 소수 구하기 || 1929
·
🎯PS
www.acmicpc.net/problem/1929 1929번: 소수 구하기첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다.www.acmicpc.net2부터 쭉 나눠보기# 소수 구하기 # ? 시간 초과 m, n = map(int, input().split(' ')) arr = [i for i in range(m, n+1)] for i in arr: if i == 1: continue if i == 2: print(i) continue cnt = 0 for j in range(2, i): if i % j == 0: cnt += 1 if cnt == 0: print(i)시간 초과 발생!!에라토스테네..
[백준_python] 1, 2, 3 더하기 || 9095
·
🎯PS
www.acmicpc.net/problem/9095 9095번: 1, 2, 3 더하기각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다.www.acmicpc.net이 문제 또한, 다이나믹 프로그래밍 문제이다. 1 : (1) 2 : (1, 1) (2) 3 : (1, 1, 1) (1, 2) (2, 1) (3) 4 : (1, 1, 1, 1) (1, 1, 2) (1, 2, 1) (2, 1, 1) (1, 3) (3, 1) (2, 2) → 7개 5 : (1, 1, 1, 1, 1) (1, 1, 1, 2) x 4 (1, 1, 3) x 3 (2, 3) x 2 (1, 2, 2) x 3 → 13개 = 7 + 4 + 2 6 : (1, 1, 1, 1, 1, 1) (1, 1, 1, 1, 2) x 5..
[백준_python] 1로 만들기 || 1463
·
🎯PS
www.acmicpc.net/problem/1463 1463번: 1로 만들기첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다.www.acmicpc.net이 문제는 다이나믹 프로그래밍과 관련된 문제이다. 다이나믹 프로그래밍이란? 큰 문제를 작은 문제로 나누어서 푸는 기법, 작은 부분 문제들이 반복되는 경우를 매번 재계산하지 않고 재사용을 하는 기법이라고 한다. 구현 방식으로는 bottom-up과 top-down이 있다. bottom-up은 작은 문제부터 차근차근 푸는 것이고 top-down은 보통 우리가 아는 재귀 함수로, 큰 문제를 풀려하고 작은 문제가 풀리지 않았다면, 작은 문제를 푸는 방식이다.2 → 1 3번째 연산을 1회 해준다. 10 → 5 →4 →2→1이라는 방식도있지만..
[백준_python] 회전하는 큐 || 1021(global, deque.rotate())
·
🎯PS
www.acmicpc.net/problem/1021 1021번: 회전하는 큐첫째 줄에 큐의 크기 N과 뽑아내려고 하는 수의 개수 M이 주어진다. N은 50보다 작거나 같은 자연수이고, M은 N보다 작거나 같은 자연수이다. 둘째 줄에는 지민이가 뽑아내려고 하는 수의 위치가 www.acmicpc.net2번 연산은 1 2 3 -> 2 3 1 3번 연산은 1 2 3 -> 3 1 2 뽑으려는 값이 큐의 첫 번째 요소가 될 때까지 둘 연산을 각각 반복하고 그 중에 최소값을 선택하여 합하면서 총 연산의 최소 횟수를 구해준다.# 회전하는 큐 n, m = map(int, input().split(' ')) # n : 큐의 크기, m : 몇 번 뽑아낼 건지 arr = list(map(int, input().split(' ..
[백준_python] 패션왕 신해빈 || 9375
·
🎯PS
www.acmicpc.net/problem/9375 9375번: 패션왕 신해빈첫 번째 테스트 케이스는 headgear에 해당하는 의상이 hat, turban이며 eyewear에 해당하는 의상이 sunglasses이므로 (hat), (turban), (sunglasses), (hat,sunglasses), (turban,sunglasses)로 총 5가지 이다.www.acmicpc.net# 패션왕 신해빈 from collections import Counter t = int(input()) for _ in range(t): n = int(input()) arr = [] for i in range(n): clothes, kind = input().split(' ') arr.append(kind) wear = ..
[백준_java] A+B || 1000
·
🎯PS
www.acmicpc.net/problem/1000 1000번: A+B두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.www.acmicpc.net//A+B(1000) import java.util.Scanner; public class BJ1000 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a = sc.nextInt(); int b = sc.nextInt(); System.out.println(a+b); sc.close(); } } import java.util.Scanner; Scanner sc = new Scanner(System.in);
[백준_java] Hello World || 2557
·
🎯PS
www.acmicpc.net/problem/2557 2557번: Hello WorldHello World!를 출력하시오.www.acmicpc.netsysout 을 치고 ctrl + space를 하면 자동으로 system.out.println();가 완성된다. 백준에서 제출을 할 때 항상 class이름을 "Main"으로 해줄 것. ( 그렇지 않으면, 컴파일에러 발생)public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!"); } }얘도 git에 올려보려는데,,,,,, 모르겠다............파일도 막 여러개 생기다 보니 더더욱..
[백준_python] 프린터 큐 || 1966
·
🎯PS
www.acmicpc.net/problem/1966 1966번: 프린터 큐여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에www.acmicpc.net큐는 선입선출의 형태, 각 문서들마다 중요도가 주어지는데, 중요도대로 출력할 수 있도록 하여야 한다. 따라서, 가장 맨 앞에 위치한 문서의 중요도를 확인하고, 나머지 문서에 중요도가 더 높은 것이 있다면, 빼고 다시 넣어주며 이를 반복하며 중요도 대로 출력되도록 해준다.import sys n, m = map(int, sys.stdin.readline().strip().split(' '))라고 해주어야하는데 int(inp..
[백준_python] 제로 || 10773
·
🎯PS
www.acmicpc.net/problem/10773 10773번: 제로첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경www.acmicpc.net# 제로 k = int(input()) num = [] for _ in range(k): a = int(input()) if a != 0: num.append(a) else: if len(num) != 0: num.pop() result = 0 for i in num: result += i print(result) d
[프로그래머스_python] 위장 || 42578
·
🎯PS
programmers.co.kr/learn/courses/30/lessons/42578 코딩테스트 연습 - 위장programmers.co.kr하 이 문제는 조합으로 푸는 문제라고 생각해서 해시까지는 구현해주었는데,,, 경우의 수를 이제 어떻게 구해주지?에서 막혔었다.....ㅠㅜ 옷의 종류가 a와 b가 있고 각각 2벌씩 있다면, 스파이가 입을 수 있는 옷의 경우의 수는 2 x 2 = 4가지 그러나, 스파이는 1개의 옷만 입는 경우가 있으므로, +1을 해주어 3x3 = 9가지 이 경우에는 아무것도 걸치지 않는 경우가 포함되어있으므로 -1을 해준다. def solution(clothes): a = {} for i in range(len(clothes)): if clothes[i][1] in a: a[cloth..