분류 전체보기

[문자열 분석]-10820번 10820번: 문자열 분석 문자열 N개가 주어진다. 이때, 문자열에 포함되어 있는 소문자, 대문자, 숫자, 공백의 개수를 구하는 프로그램을 작성하시오. 각 문자열은 알파벳 소문자, 대문자, 숫자, 공백으로만 이루어져 있 www.acmicpc.net My answer import sys result=[0]*4 while(1): try: tmp=sys.stdin.readline().rstrip('/n') if(tmp=""): break for i in tmp: if('a'
[알파벳 찾기]-10809번 10809번: 알파벳 찾기 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출 www.acmicpc.net My answer from string import ascii_lowercase alphabet_list = list(ascii_lowercase) s=input() for i in alphabet_list: if(i in s): print(s.find(i),end=" ") else: print(-1,end=" ") Another answer print(*map(input().find,map(chr,range(97,123)..
오늘은 은근 자주 나오는 유클리드 호제법과 에라토스테네스의 체에 대해서 설명해보겠다. 우선 유클리드 호제법은 최대공약수를 구하는 알고리즘이다. 최대공약수를 알면 최소공배수도 쉽게 알 수 있기 때문에 유클리드 호제법은 보통 최대공약수와 최소공배수를 구할 때 모두 쓰인다. 우선 바로 코드부터 보여주자면 if(b>a) : a,b = b,a while(b!=0): a=a%b a,b=b,a print(a) 우선 입력받은 두 수중에 큰 수를 정해놓고 큰 수를 작은 수로 계속 나누어서, 나누어 떨어질 때까지 반복한다. 나누어 떨어질 때(나머지가 0일 때), 나누는 수가 최대공약수이다. 이 방법은 a,b의 최대공약수는 (a-b),a의 최대공약수와 같다는 성질 때문이다. 이 때 최소공배수는 a*b를 a와 b의 최대공약수..
[알파벳 개수]-10808번 10808번: 알파벳 개수 단어에 포함되어 있는 a의 개수, b의 개수, …, z의 개수를 공백으로 구분해서 출력한다. www.acmicpc.net My answer from collections import Counter from string import ascii_lowercase import sys alphabet_list = list(ascii_lowercase) tmp=sys.stdin.readline().rstrip() for i in alphabet_list: if(i in Counter(tmp)): print(Counter(tmp)[i],end=" ") else: print(0,end=" ") Another answer print(*map(input().coun..
[덱]-10866번 10866번: 덱 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net My answer import sys n=int(sys.stdin.readline()) tmp=[] for _ in range(n): deck=[] deck=sys.stdin.readline().split() if(deck[0]=="push_front"): tmp=[int(deck[1])]+tmp elif(deck[0]=="push_back"): tmp.append(int(deck[1])) elif(deck[0]=="front"..
[쇠막대기]-10799번 10799번: 쇠막대기 여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레이저 www.acmicpc.net My answer # 첫번째 제출(시간초과) cnt,sums=0,0 tmp=input() while("()" in tmp): tmp=tmp.replace("()","L") while('(' in tmp and ')' in tmp): for i in range(len(tmp)): if(tmp[i]=='('): for j in range(i+1,len(tmp)): if(tmp[j]=='('): break elif(tmp[j]==')'): sums+=tm..
창빵맨
'분류 전체보기' 카테고리의 글 목록 (64 Page)