목록IT (49)
언젠가는

1. a=list(input()) a에 입력값을 리스트로 받습니다. b = len(a) 리스트의 길이를 b로 받습니다. 2. for i in range(b): if ord(a[i])==32: a[i] = ' ' 띄어쓰기의 아스키 코드는 32, 32일 때 띄어쓰기를 넣어줍니다. elif a[i].isdigit(): 숫자가 나오면 변함없이 숫자가 나옵니다. a[i] = a[i] else: 띄어쓰기, 숫자가 아닐 경우에만 ROT13을 진행합니다. if a[i].isupper(): if (ord(a[i])+13)

괄호가 ()한번에 닫히면 레이저, 나중에 닫히면 막대의 끝부분임을 알 수 있고, 레이저는 현재의 막대기 개수만큼 자른다는 사실을 통해 정답을 구할 수 있습니다. 1. a = list(input()) a에 괄호들을 입력받습니다. 2. b= 0 ans=0 b에는 끝나지 않은 막대기 개수를 넣어줄 것입니다.'('의 갯수 '('는 나중에 ')'를 만나게 되면 끝나고, 한번에 만나면 레이저입니다. 3. for i in range(len(a)): if a[i]=='(': b+=1 인덱스로 '('인 친구들을 찾아서 b에 +해줍니다. else: ')'인 친구들을 만났는데, if a[i-1]=='(': b-=1 ans+=b 그 전의 값이 '('이면 레이저입니다. 레이저는 막대기에서 탈락이므로 b에서 -1합니다. 레이저는..

a, b = map(int,input().split()) a,b에 입력값 받기 c = [i for i in range(1,a+1)] c에 리스트 만들기 1부터 a까지 ans=[] ans에 출력값 넣기위함 n=0 초기값 0, b-1을 인덱스값으로 정해서 찾아주기 for i in range(a): n+=b-1 n+b-1을 해준 인덱스를 뽑아내고 있음 if n>=len(c): n=n%len(c) 리스트의 갯수보다 크면 못꺼냄, 그럴땐 인덱스값을 초기화 해주기 위해 모자란 만큼 나머지로 계산한다. (원형으로 둘러쌓여 있으므로, 인덱스 맨 뒤에서 다시 맨 앞으로 가기 때문) ans.append(str(c.pop(n))) 당첨된 값을 pop해서 ans에 넣어준다. str로 변환하는 것은 나중에 출력값을 로 해야하기..

import sys a = list(input()) 처음에 문자열을 입력받는 곳 리스트로 받아서 하나씩 이용할 것이다. b = int(input()) 에디터에서 사용하는 코드 갯수 c = [] 커서의 방향을 항상 맨 끝을 만들어 주기 위해서 사용할 리스트 for i in range(b): d = sys.stdin.readline().split() d에는 에디터의 명령어가 들어온다. split()는 P $에서 $를 집어넣기 위해서 나눠준다. if d[0]=='L' and a: c.append(a.pop()) 명령어가 L이고, a에 값이 존재하면 커서를 왼쪽으로 옮긴다. 맨 끝의 문자를 리스트 c에 보관한다. elif d[0]=='D' and c: a.append(c.pop()) 명령어가 D이고, c에 값이..

a = int(input()) a에 첫줄의 입력을 받습니다. for i in range(a): c = list(input()) list로 두번째 줄 이후의 값들을 리스트에 입력합니다. sum=0 sum을 이용해서 ()세트를 0으로 만들어 주기 위한 값입니다. for j in c: if j=='(': sum+=1 elif j==')': sum-=1 '('+')'의 합을 0으로 만들어 줍니다. if sum ')()()()()(' 의 sum은 0이 되기 때문입니다. if sum > 0: print('NO') elif sum==0: print('YES')