baekjoon 383

[baekjoon] 백준 10951번(파이썬): A+B - 4

문제 10951번: A+B - 4 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 알고리즘 - try- except 문을 통해 반복문을 멈춰준다. 코드 import sys while True: try: a, b = map(int, sys.stdin.readline().split()) print(a + b) except: break github GitHub - junjange/CodingTest: 내가 푼 코딩 테스트 문제와 해결법 내가 푼 코딩 테스트 문제와 해결법. Contribute to junjange/CodingTest development by creating an account on GitHub. github.com

CodingTest/Baekjoon 2021.09.07

[baekjoon] 백준 1110번(파이썬): 더하기 사이클

문제 1110번: 더하기 사이클 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, www.acmicpc.net 알고리즘 - 두 정수를 더할 때는 int로 더한다. - 두 정수를 붙일 때는 str으로 붙인다. 코드 import sys n = str(sys.stdin.readline()) res = [] cnt = 0 print(n) # 입력받은 정수가 두자릿수이면 1의 자리 수의 0을 추가한다. if len(n) == 2: n = "0" + n while True: # 새로운 수를 리스트에 추가한다. res.append(n) # 두 정수를 더한다. te..

CodingTest/Baekjoon 2021.09.07

[baekjoon] 백준 17413번(파이썬): 단어 뒤집기 2

문제 17413번: 단어 뒤집기 2 문자열 S가 주어졌을 때, 이 문자열에서 단어만 뒤집으려고 한다. 먼저, 문자열 S는 아래와과 같은 규칙을 지킨다. 알파벳 소문자('a'-'z'), 숫자('0'-'9'), 공백(' '), 특수 문자('')로만 이루어져 www.acmicpc.net 알고리즘 - 입력에 따라 명령을 수행한다. 코드 import sys s = list(map(str, sys.stdin.readline().strip())) res = "" word = "" reverse = True for c in s: if c == '': reverse = True res += (word + '>') word = "" elif c == ' ': res += word + c word = "" elif reve..

CodingTest/Baekjoon 2021.09.07

[baekjoon] 백준 10866번(파이썬): 덱

문제 10866번: 덱 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 알고리즘 - 입력에 따라 명령을 수행한다. 코드 import sys from collections import deque n = int(sys.stdin.readline()) queue = deque() for i in range(n): order = list(map(str, sys.stdin.readline().split())) if order[0] == "push_front": queue.appendleft(order[1]) elif or..

CodingTest/Baekjoon 2021.09.06

[baekjoon] 백준 1158번(파이썬): 요세푸스 문제

문제 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net 알고리즘 - n명의 사람을 다 제거할 때까지 반복한다. - 반복하면서 제거할 인덱스를 더해줘 제거할 인덱스의 위치를 바꿔준다. - 인덱스의 크기가 남은 큐에 길이보다 크다면 인덱스의 크기를 나눠 나머지로 바꾼다. - 큐에서 해당 인덱스를 제거하고 제거한 요소를 리스트에 추가한다. 코드 import sys n, k = map(int, sys.stdin.readline().split()) queue = [i for i in range(1, n + 1)] temp = [] index = 0 # 제거할 인덱스 while queue: # 제거할 인덱스를 더..

CodingTest/Baekjoon 2021.09.06

[baekjoon] 백준 10845번(파이썬): 큐

문제 10845번: 큐 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 코드 import sys from collections import deque n = int(sys.stdin.readline()) queue = deque() for i in range(n): order = list(map(str, sys.stdin.readline().split())) if order[0] == "pop": if queue: print(queue.popleft()) else: print(-1) elif order[0] ==..

CodingTest/Baekjoon 2021.09.06

[baekjoon] 백준 1406번(파이썬): 에디터

문제 1406번: 에디터 첫째 줄에는 초기에 편집기에 입력되어 있는 문자열이 주어진다. 이 문자열은 길이가 N이고, 영어 소문자로만 이루어져 있으며, 길이는 100,000을 넘지 않는다. 둘째 줄에는 입력할 명령어의 개수 www.acmicpc.net 알고리즘 - 입력받은 문자열 리스트는 커서의 왼쪽에 위치하게 한다. - 커서 오른쪽에 있는 요소들은 새로운 리스트에 담는다. - 커서를 왼쪽으로 한 칸 옮기기 위해 문자열 리스트에 하나를 빼고 뺀 값을 커서 오른쪽에 있는 요소를 담는 리스트에 추가한다. - 위 방법과 같이 커서 왼쪽에 있는 요소는 문자열 리스트에, 커서 오른쪽에 있는 요소는 다른 리스트에 넣는다. - 모든 명령을 수행하고 커서 왼쪽에 있는 리스트를 출력하고 오른쪽에 있는 리스트는 거꾸로 바꿔..

CodingTest/Baekjoon 2021.09.06

[baekjoon] 백준 1874번(파이썬): 스택 수열

문제 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net 알고리즘 - 반복문을 통해 정수를 입력받는다. - 입력받은 정수가 스택에 들어갈 정수보다 크다면 스택에 정수를 추가한다. - 스택에 정수를 추가한 후에는 스택에 들어갈 정수를 +1 해준다. - 스택에 마지막 요소가 입력받은 정수와 같다면 팝 해준다. - 스택에 마지막 요소가 입력받은 정수와 같지 않는다면 입력된 수열을 만들 수 없다. 코드 import sys n = int(s..

CodingTest/Baekjoon 2021.09.05

[baekjoon] 백준 9012번(파이썬): 괄호

문제 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 알고리즘 - 테스트 케이스만큼 반복한다. - 입력받은 리스트 안에 아무것도 없을 때까지 반복한다. - 리스트에 첫 번째 문자가 "(" 이며 리스트에 ")" 문자가 있으면 괄호를 제거한다. - 조건이 맞지 않으면 반복문을 멈춘다. - 리스트의 요소 유무에 따라 출력한다. 코드 import sys t = int(sys.stdin.readline()) for i in range(t): stack = list(map(str, sys...

CodingTest/Baekjoon 2021.09.04

[baekjoon] 백준 9093번(파이썬): 단어 뒤집기

문제 9093번: 단어 뒤집기 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 문장이 하나 주어진다. 단어의 길이는 최대 20, 문장의 길이는 최대 1000이다. 단어와 단어 사이에는 www.acmicpc.net 알고리즘 - 테스트 케이스만큼 반복 - 리스트 안에 있는 문자를 하나씩 거꾸로 꺼낸다. - 꺼낸 문자를 더하여 출력한다. 코드 import sys t = int(sys.stdin.readline()) # 테스트 케이스만큼 반복 for _ in range(t): stack = list(map(str, sys.stdin.readline().split())) res = "" # 리스트를 확인 for i in stack: # 리스트 안에 있는 문자를 거꾸러..

CodingTest/Baekjoon 2021.09.04