GitHub

https://github.com/Choidongjun0830

파이썬 알고리즘 문제 풀이 228

BaekJoon Online Judge 10824번 파이썬

문제 링크 https://www.acmicpc.net/problem/10824 10824번: 네 수 첫째 줄에 네 자연수 A, B, C, D가 주어진다. (1 ≤ A, B, C, D ≤ 1,000,000) www.acmicpc.net 처음에 숫자를 문자열로 받아서 그 문자를 결합시켰다. 그리고 그 문자들을 숫자로 바꿔서 더했다. 정답 코드 import sys numbers = list(sys.stdin.readline().split()) number1 = numbers[0] + numbers[1] number2 = numbers[2] + numbers[3] result = int(number1) + int(number2) print(result)

BaekJoon Online Judge 11655번 파이썬

문제 링크 https://www.acmicpc.net/problem/11655 11655번: ROT13 첫째 줄에 알파벳 대문자, 소문자, 공백, 숫자로만 이루어진 문자열 S가 주어진다. S의 길이는 100을 넘지 않는다. www.acmicpc.net 처음엔 알파벳 리스트를 직접 작성하여 그것을 바탕으로 이 문제를 풀어가려 했다. 하지만 이렇게 하면 코드가 복잡해보였다. 그래서 해결방법을 알아보던 중 아스키 코드로 해결하는 방법을 보고 아스키 코드를 이용하여 해결했다. 처음에 잘못 짠 코드 for s in string: if s.isupper(): now_index = alphabet.index(s.lower()) password_index = now_index + 13 if password_index ..

BaekJoon Online Judge 10820 파이썬

문제 링크 https://www.acmicpc.net/problem/10820 10820번: 문자열 분석 문자열 N개가 주어진다. 이때, 문자열에 포함되어 있는 소문자, 대문자, 숫자, 공백의 개수를 구하는 프로그램을 작성하시오. 각 문자열은 알파벳 소문자, 대문자, 숫자, 공백으로만 이루어져 있 www.acmicpc.net 이번 문제는 처음에 반복 횟수를 입력하지 않는다. 그래서 입력이 없을 경우에 반복을 끝내야한다. 이것을 if not string: 을 이용하여 입력받는 문자열의 변수명이 string이므로 string이 없다면 break하도록 하였다. import sys while True: string = sys.stdin.readline().rstrip("\n") if not string: bre..

BaekJoon Online Judge 10809번 파이썬

문제 링크 https://www.acmicpc.net/problem/10809 10809번: 알파벳 찾기 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출 www.acmicpc.net 10808번 문제와 비슷한 문제다. index()함수를 사용하여 각각의 알파벳이 처음으로 등장하는 위치를 알아내었다. 사용되지 않는 알파벳때문에 ValueError가 나타나서 try except문으로 해결하였다. 정답 코드 import sys S = sys.stdin.readline() S = S.lower() alphabet_list = ['a','b','c','d','e..

BaekJoon Online Judge 10808번 파이썬

문제 링크 https://www.acmicpc.net/problem/10808 10808번: 알파벳 개수 단어에 포함되어 있는 a의 개수, b의 개수, …, z의 개수를 공백으로 구분해서 출력한다. www.acmicpc.net count함수를 이용하여 각각의 알파벳이 몇개 있는지 개수를 세었다. 그리고 그 개수를 한줄로 출력하기 위해 print함수에 end =“” 를 사용했다. 정답 코드 import sys S = sys.stdin.readline() S = S.lower() alphabet_list = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'] for i i..

BaekJoon Online Judge 10845번 파이썬

문제 링크 https://www.acmicpc.net/problem/10845 먼저 각각의 기능에 맞는 함수를 작성하였다. push함수는 입력 받을 때 숫자와 함께 입력하므로 cmd를 리스트로 입력받아 cmd[1]을 함수의 매개변수로 사용하였다. 정답 코드 import sys N = int(sys.stdin.readline()) queue = [] def push(X): queue.append(X) def pop(): if len(queue) == 0: print(-1) else: print(queue[0]) queue.pop(0) def size(): print(len(queue)) def empty(): if len(queue) == 0: print(1) else: print (0) def front..

BaekJoon Online Judge 9012번 파이썬

문제 링크 https://www.acmicpc.net/problem/9012 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net VPS이면 ()가 지워져도 또 다른 ()가 생겨 ()를 지우다보면 결국은 공백의 문자열이 될 것이다. 이 생각을 바탕으로 ()가 있을 경우에 계속 ()를 공백으로 replace 했다. 그리고 더이상 replace가 되지 않을 때, 그 결과가 공백이면 VPS인 것으로 판단하여 YES를 출력하고 공백이 아니라면 NO를 출력하게 하였다. 정답 코드 N = int..

BaekJoon Online Judge 10828번 파이썬

문제 링크 https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 5개 기능의 함수를 만들어서 문제를 해결했다. 정답 코드 import sys def push(x): stack.append(x) def top(): if len(stack) == 0: print(-1) else: print(stack[len(stack)-1]) def pop(): if len(stack) == 0: print(-1) else: print(stack[le..

BaekJoon Online Judge 11004번 파이썬

문제 링크 https://www.acmicpc.net/problem/11004 11004번: K번째 수 수 N개 A1, A2, ..., AN이 주어진다. A를 오름차순 정렬했을 때, 앞에서부터 K번째 있는 수를 구하는 프로그램을 작성하시오. www.acmicpc.net 리스트를 오름차순 정렬 후에 출력만 하면 되는 문제였다. 정답 코드 import sys N, K = map(int, sys.stdin.readline().split()) numbers =[0] * N numbers = list(map(int,sys.stdin.readline().split())) result = sorted(numbers) print(result[K-1])

728x90