본문 바로가기

Algorithm705

[구현/문자열] 백준 25083 새싹 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 25083번: 새싹 아래 예제와 같이 새싹을 출력하시오. www.acmicpc.net 2. 문제 풀이 새싹 모양을 출력하는 문제입니다. 특수 기호가 많기 때문에, 기존의 C계열이나 java에선 이스케이프(escape, 탈출) 문자를 사용해야 합니다. 하지만 파이썬에서는 """ """를 이용해서 여러 줄의 문자열을 그대로 출력할 수 있습니다. 3. 코드 print(""" ,r'"7 r`-_ ,' ,/ \. ". L_r' `~\/ | | """) """ """를 여러 줄로 주석을 남길 때 사용하는 걸로만 아시는 분들이 있는데, 사실은 '문자열'입니다. 변수 저장이나 출력에 사용하지 않아서, 주석처럼 된 것 뿐이죠. 2022. 11. 7.
[그리디/Greedy] 백준 1758 알바생 강호 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 1758번: 알바생 강호 첫째 줄에 스타박스 앞에 서 있는 사람의 수 N이 주어진다. N은 100,000보다 작거나 같은 자연수이다. 둘째 줄부터 총 N개의 줄에 각 사람이 주려고 하는 팁이 주어진다. 팁은 100,000보다 작거나 같 www.acmicpc.net 2. 문제 풀이 팁 + (1 - 순서) 최대한 많은 팁을 얻어야 합니다. 순서가 늦어질수록 팁이 낮아지며, 음수가 되면 아예 받지 못합니다. 2022.01.26 - [Algorithm] - [Algorithm] 탐욕적인 그리디 알고리즘, 직관적이고 쉬운 문제해결 [Algorithm] 탐욕적인 그리디 알고리즘, 직관적이고 쉬운 문제해결 경주마들을 자세히 보면, 양쪽 시야를 차단하는 안대를 끼고 있습.. 2022. 11. 6.
[구현/수학] 백준 1598 꼬리를 무는 숫자 나열 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 1598번: 꼬리를 무는 숫자 나열 첫째 줄에 원숭이가 생각한 두 개의 자연수가 주어진다. 각 수는 10,000,000 이하이다. www.acmicpc.net 2. 문제 풀이 위와 같이 나열된 숫자판에서, 두 숫자 간의 직각 거리를 구하는 문제입니다. 여기서 '직각 거리'란 떨어진 가로와 세로축의 거리를 합한 걸 말합니다. 위 예제는 가로로 '6', 세로로 '2'만큼 떨어져있고, 직각 거리는 8입니다. 3. 코드 import sys input = sys.stdin.readline # 입력 a, b = map(int, input().split()) # 직각 거리 계산 row = abs(((b-1)//4 + 1) - ((a-1)//4 + 1)) col = ab.. 2022. 11. 5.
[구현/수학] 백준 4635 Speed Limit - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 4635번: Speed Limit The input consists of one or more data sets. Each set starts with a line containing an integer n, 1 ≤ n ≤ 10, followed by n pairs of values, one pair per line. The first value in a pair, s, is the speed in miles per hour and the second value, t, is t www.acmicpc.net 2. 문제 풀이 속도가 바뀔 때마다, 현재 속도와 총 경과 시간이 주어집니다. 이를 통해서 총 이동 거리를 구해야 합니다. 3. 코드 import sys.. 2022. 11. 4.
[구현/문자열] 백준 1284 집 주소 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 1284번: 집 주소 재석이는 대문에 붙이는 (주소를 나타내는) 호수판 제작업체의 직원이다. 고객에게 전달할 호수판은 숫자와 숫자 사이 그리고 왼쪽 오른쪽으로 적당히 여백이 들어가 줘야하고 숫자마다 차지하 www.acmicpc.net 2. 문제 풀이 1) 양 끝에는 1cm 여백이 있고, 각 숫자 사이에는 1cm 여백 2) 숫자 0은 4cm, 숫자 1은 2cm, 나머지 숫자들은 3cm씩 공간을 차지 위 규칙에 따라, 주어진 숫자가 차지하는 공간을 구해야 합니다. 3. 코드 import sys input = sys.stdin.readline while True: # 입력 N = input().rstrip() if N == '0': break res = 1 # .. 2022. 11. 3.
[탐색/밸만포드] 백준 1865 웜홀 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 1865번: 웜홀 첫 번째 줄에는 테스트케이스의 개수 TC(1 ≤ TC ≤ 5)가 주어진다. 그리고 두 번째 줄부터 TC개의 테스트케이스가 차례로 주어지는데 각 테스트케이스의 첫 번째 줄에는 지점의 수 N(1 ≤ N ≤ 500), www.acmicpc.net 2. 문제 풀이 음수 가중치를 갖는 사이클(음수 사이클)이 있는 지 탐색하는 문제입니다. 3. 코드 import sys input = sys.stdin.readline # 밸만 포드 알고리즘 def bf(start): dist = [10001] * (N + 1) dist[start] = 0 # 밸만포드 알고리즘 for i in range(N): for e in edge: start_node, next_.. 2022. 11. 2.
[구현/수학] 백준 1247 부호 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 1247번: 부호 총 3개의 테스트 셋이 주어진다. 각 테스트 셋의 첫째 줄에는 N(1 ≤ N ≤ 100,000)이 주어지고, 둘째 줄부터 N개의 줄에 걸쳐 각 정수가 주어진다. 주어지는 정수의 절댓값은 9223372036854775807보다 작거 www.acmicpc.net 2. 문제 풀이 주어진 입력의 합을 구하고, 부호를 판별합니다. 3. 코드 import sys input = sys.stdin.readline # 테스트케이스 for _ in range(3): # 입력 n = int(input()) _sum = 0 for _ in range(n): _sum += int(input()) # 출력 if _sum == 0: print(0) elif _sum.. 2022. 11. 1.
[구현/수학] 백준 24356 ЧАСОВНИК - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 24356번: ЧАСОВНИК Група ученици излезли на разходка след училище. При тръгване електронният часовник на Тони показвал t1 часа и m1 минути. Те обикаляли около ез www.acmicpc.net 2. 문제 풀이 호수를 한 바퀴 도는 데에는 30분이 걸립니다. 산책 시작시간과 종료시간이 주어지고, 산책시간과 호수를 돈 횟수를 출력합니다. 단, 날짜가 바뀌면서 시작시간이 종료시간보다 늦을 수도 있습니다. 3. 코드 # 입력 t1, m1, t2, m2 = map(int, input().split()) # 시간 계산 time = (t2-t1)*6.. 2022. 10. 31.
[자료구조/스택] 백준 1918 후위 표기식 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 1918번: 후위 표기식 첫째 줄에 중위 표기식이 주어진다. 단 이 수식의 피연산자는 알파벳 대문자로 이루어지며 수식에서 한 번씩만 등장한다. 그리고 -A+B와 같이 -가 가장 앞에 오거나 AB와 같이 *가 생략되는 등의 www.acmicpc.net 2. 문제 풀이 중위 표기식으로 표현된 식을 '후위 표기식'으로 변환하는 문제입니다. 중위 표기식은 [피연산자 - 연산자 - 피연산자] 순으로 우리가 일상에서 사용하는 형식입니다. 반면 후위표기식은 [피연산자 - 피연산자 - 연산자] 순으로 식을 나열합니다. 앞에 피연산자가 2개 이상 쌓이고, 연산자를 만나면 그제서야 계산하는 방식입니다. 2022.02.10 - [Algorithm] - [Algorithm] 스.. 2022. 10. 30.