[Coding Test]

    [백준] 1935 파이썬(python) : 후위 표기식2

    [백준] 1935 파이썬(python) : 후위 표기식2

    https://www.acmicpc.net/problem/1935 1935번: 후위 표기식2 첫째 줄에 피연산자의 개수(1 ≤ N ≤ 26) 가 주어진다. 그리고 둘째 줄에는 후위 표기식이 주어진다. (여기서 피연산자는 A~Z의 영대문자이며, A부터 순서대로 N개의 영대문자만이 사용되며, 길이 www.acmicpc.net import sys n = int(sys.stdin.readline()) string = sys.stdin.readline().rstrip() number = [] for _ in range(n): number.append(int(sys.stdin.readline())) stack = [] for char in string: if char.isalpha(): #1 stack.append..

    [백준] 2504 파이썬(python) : 괄호의 값 - (★)

    [백준] 2504 파이썬(python) : 괄호의 값 - (★)

    https://www.acmicpc.net/problem/2504 2504번: 괄호의 값4개의 기호 ‘(’, ‘)’, ‘[’, ‘]’를 이용해서 만들어지는 괄호열 중에서 올바른 괄호열이란 다음과 같이 정의된다. 한 쌍의 괄호로만 이루어진 ‘()’와 ‘[]’는 올바른 괄호열이다.  만일www.acmicpc.net   여는 괄호는 받을 때는 스택에 삽입과 함께 그 값을 저장, 첫번째 닫는 괄호가 나오면 이제까지의 값 모두 res에 옮김 그리고 괄호값만큼 나눠준다.  ( ( ) [ [ ] ] ) 일때 값의 변화괄호(()[[]])tmp242618621res00444222222  닫는 괄호 ) 가 나왔을 때  if len(stack) == 0 or stack[-1] != '(' 여기서 안걸린다면 여는 괄호 (과 ..

    [백준] 1406 파이썬(python) : 에디터 - 이중stack

    [백준] 1406 파이썬(python) : 에디터 - 이중stack

    https://www.acmicpc.net/problem/1406 1406번: 에디터 첫째 줄에는 초기에 편집기에 입력되어 있는 문자열이 주어진다. 이 문자열은 길이가 N이고, 영어 소문자로만 이루어져 있으며, 길이는 100,000을 넘지 않는다. 둘째 줄에는 입력할 명령어의 개수 www.acmicpc.net 시간이 오래걸리는 insert대신 append를 del 대신 pop을 사용하면 O(1)로 문제를 해결할 수 있다. 왼쪽으로 커서 이동은 top에 있는 원소를 다른 스택에 옮기고, 오른쪽으로 커서 이동은 다른 스택의 top에서 원래 스택으로 옮기는 방식이다. import sys string = list(sys.stdin.readline().rstrip()) #1 string2 = [] #2 n = i..

    [백준] 5052 파이썬(python) : 전화번호 목록 - (문자열숫자정렬, 리스트속문자열슬라이싱)

    [백준] 5052 파이썬(python) : 전화번호 목록 - (문자열숫자정렬, 리스트속문자열슬라이싱)

    5052번 : 전화번호 목록  import syst = int(sys.stdin.readline())for _ in range(t): n = int(sys.stdin.readline()) number = [ sys.stdin.readline().rstrip() for _ in range(n) ] #1 number.sort() #2 flag = True for i in range(n-1): #3 if number[i] == number[i+1][:len(number[i])]: #4 print('NO') flag = False #5 break if flag == True: #6 print('Y..

    [백준] 1120 파이썬(python) : 문자열 - 문자속비교(★)

    [백준] 1120 파이썬(python) : 문자열 - 문자속비교(★)

    https://www.acmicpc.net/problem/1120 1120번: 문자열 길이가 N으로 같은 문자열 X와 Y가 있을 때, 두 문자열 X와 Y의 차이는 X[i] ≠ Y[i]인 i의 개수이다. 예를 들어, X=”jimin”, Y=”minji”이면, 둘의 차이는 4이다. 두 문자열 A와 B가 주어진다. 이때, A의 www.acmicpc.net 처음 문제를 접했을때 앞뒤에 넣어줄 소문자 알파벳을 모두 다 배열에다 넣은채로 만들어서 하나하나 길이차이 만큼 비교해줘야하나 생각했는데 아니었다. 문자열 b보다 짧은 문자열a를 비교할때 a의 앞뒤에는 어떤 알파벳이 들어가는지 신경쓰지 않아도 된다. 어차피 차이의 개수만 출력하면 되므로 앞뒤에 들어갈 문자는 알아서 가장 비슷한게 들어가겠구나 생각하면 된다. 즉..

    [백준] 7567 파이썬(python) : 그릇

    [백준] 7567 파이썬(python) : 그릇

    https://www.acmicpc.net/problem/7567 7567번: 그릇 그릇을 바닥에 놓았을 때 그 높이는 10cm 이다. 그런데 두 개의 그릇을 같은 방향으로 포개면 그 높이는 5cm만 증가된다. 만일 그릇이 서로 반대방향으로 쌓이면 높이는 그릇만큼, 즉 10cm 늘어난다. www.acmicpc.net import sys string = sys.stdin.readline().rstrip() height = 10 for i in range(1, len(string)): if string[i-1] == string[i]: height += 5 else: height += 10 print(height) 처음엔 스택 문제인 줄 알았는데 아니었다. 문자열 인덱스 풀 수 있는 문제였다.