Coding Test/Python

Coding Test/Python

[PCCP 기출문제] 1번 / 붕대 감기

문제 https://school.programmers.co.kr/learn/courses/19344/lessons/242258 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 def solution(bandage, health, attacks): max_health = health t, x, y = bandage end_time = attacks[-1][0] cur_t = 0 cur_health = health attacks_dic = dict(attacks) for i in range(end_time + 1): # 공격 if i in attacks_..

Coding Test/Python

[프로그래머스] 디스크 컨트롤러

문제 https://school.programmers.co.kr/learn/courses/30/lessons/42627 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 import heapq def solution(jobs): ans, now, i = 0, 0, 0 # 작업하는데 걸린 총 시간, 현재 시간, 처리된 작업의 개수 heap = [] # 현재 처리 가능한 jobs을 담는 힙 start = -1 # 이전에 완료한 작업의 시작 시간 while i < len(jobs): # 현재 시점에서 처리할 수 있는 작업을 heap에 저장 for j in j..

Coding Test/Python

[백준] 2133 타일 채우기

문제 https://www.acmicpc.net/problem/2133 2133번: 타일 채우기 3×N 크기의 벽을 2×1, 1×2 크기의 타일로 채우는 경우의 수를 구해보자. www.acmicpc.net 풀이 n = int(input()) dp = [0 for _ in range(31)] dp[2] = 3 for i in range(4, n+1): if i%2 == 0: dp[i] = dp[i-2]*3 + sum(dp[:i-2])*2 + 2 else: dp[i] = 0 print(dp[n]) 설명 참고: https://jyeonnyang2.tistory.com/51

Coding Test/Python

[PCCP 모의고사 #2] 2번 - 신입사원 교육

문제 https://school.programmers.co.kr/learn/courses/15009/lessons/121688 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 import heapq def solution(ability, number): q = [] for a in ability: heapq.heappush(q, a) for _ in range(number): x, y = heapq.heappop(q), heapq.heappop(q) new = x + y heapq.heappush(q, new) heapq.heappush(q, new)..

Coding Test/Python

[PCCP 모의고사 2] 3번

문제 https://school.programmers.co.kr/learn/courses/15009/lessons/121689 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 주원이는 카페를 운영하고 있습니다. 주원이의 카페는 맛집으로 소문나서 항상 줄이 끊이지 않습니다. 하지만 카페가 협소하여 커피를 기다리는 손님들은 종종 불만을 토로하고 있습니다. 주원이는 카페를 확장하기로 하고, 얼마나 많은 손님들이 동시에 카페에 머무는지 확인해보려 합니다. 주원이네 카페에는 영업을 시작하자마자 0초에 손님 한 명이 가게에 도착하고, 정확히 k초마다 새로운..

Coding Test/Python

[PCCP 모의고사 #2] 1번 - 실습용 로봇

문제 https://school.programmers.co.kr/learn/courses/15009/lessons/121687 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 def solution(command): dxy = [[0,1], [1,0], [0,-1], [-1, 0]] # 12시, 3시, 6시, 9시 방향으로 회전 x = 0 # x좌표 y = 0 # y좌표 dir = 0 # 방향 (dxy 배열의 dir 번째 배열을 선택해 좌표 이동) for c in command: if c == 'R': # 오른쪽으로 회전 dir = (dir+1)%4 ..

Coding Test/Python

[PCCP 모의고사 #1] 3번 - 유전법칙

문제 https://school.programmers.co.kr/learn/courses/15008/lessons/121685 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 queries = (list(map(int, input().split())) for _ in range(5)) ans = [] beans ={1: "RR", 2:"Rr", 3: "Rr", 4:"rr"} def find(n,p): beans if n

Coding Test/Python

[백준] N과 M (1)

문제 https://www.acmicpc.net/problem/15649 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 문제 자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. 1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수열 입력 첫째 줄에 자연수 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 8) 출력 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다..

Coding Test/Python

[백준] 수 이어 쓰기 1

문제 https://www.acmicpc.net/problem/1748 1748번: 수 이어 쓰기 1 첫째 줄에 N(1 ≤ N ≤ 100,000,000)이 주어진다. www.acmicpc.net 문제 1부터 N까지의 수를 이어서 쓰면 다음과 같이 새로운 하나의 수를 얻을 수 있다. 1234567891011121314151617181920212223... 이렇게 만들어진 새로운 수는 몇 자리 수일까? 이 수의 자릿수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N(1 ≤ N ≤ 100,000,000)이 주어진다. 출력 첫째 줄에 새로운 수의 자릿수를 출력한다. 예제 입력 1 5 예제 출력 1 5 풀이 import sys sys.setrecursionlimit(10000) input = sys.stdin..

Coding Test/Python

[백준] 9095 - 1, 2, 3 더하기

문제 https://www.acmicpc.net/problem/9095 9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net 문제 정수 4를 1, 2, 3의 합으로 나타내는 방법은 총 7가지가 있다. 합을 나타낼 때는 수를 1개 이상 사용해야 한다. 1+1+1+1 1+1+2 1+2+1 2+1+1 2+2 1+3 3+1 정수 n이 주어졌을 때, n을 1, 2, 3의 합으로 나타내는 방법의 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 정수 n이 주어진다. n은 양수이며 11보다 작다. 예제 입력 1 3 4 7 10 예제 출력 1 ..

메인문
'Coding Test/Python' 카테고리의 글 목록