GitHub

https://github.com/Choidongjun0830

파이썬 160

Baekjoon Online Judge 1406번 파이썬

문제 링크 https://www.acmicpc.net/problem/1406 1406번: 에디터 첫째 줄에는 초기에 편집기에 입력되어 있는 문자열이 주어진다. 이 문자열은 길이가 N이고, 영어 소문자로만 이루어져 있으며, 길이는 100,000을 넘지 않는다. 둘째 줄에는 입력할 명령어의 개수 www.acmicpc.net 처음에 잘못 짠 코드 import sys string = list(sys.stdin.readline().rstrip()) M = int(sys.stdin.readline().rstrip()) N = len(string) cursor = len(string) for i in range(M): command = list(sys.stdin.readline().split()) if command..

Baekjoon Online Judge 11656번 파이썬

문제 링크 https://www.acmicpc.net/problem/11656 11656번: 접미사 배열 첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000보다 작거나 같다. www.acmicpc.net 문자열의 인덱싱을 이용해서 접미사를 찾았고 sorted()를 이용해서 사전순 정렬하였다. 정답 코드 import sys string = sys.stdin.readline().rstrip() suffix = [] for i in range(len(string)): suffix.append(string[i:len(string)]) suffix = sorted(suffix) for i in range(len(string)): print(suffix[i])

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..

728x90