자기개발👨‍💻/코딩 알고리즘 119

[python] 문자열 다루기 기본 (예외처리로 해결)

def solution(s): answer = True if len(s)==5 or len(s)>6: answer=False else: s=list(s) for i in s: try: i = int(i) except ValueError or AttributeError: answer=False return answer 이 문제는 조건을 굉장히 잘 살펴야 한다. 문자열의 길이가 4혹은 6이여야 하므로 이것저것 수를 넣다가 5일때와 6초과일때 False로 변경 길이면에서 조건에 맞으면 else문으로 넘어간다. 이때 s를 리스트형으로 변경해 자릿수마다 살핀다. 만약 s에 알파벳이 있는데 int형으로 변경하면 에러가 발생한다. 따라서 에러가 발생할때 answer을 false로 바꿔준다

같은 숫자는 싫어 (틀린코드/맞는코드)

def solution(arr): arr.append(-1) for i in range(1,len(arr)): if i==len(arr): break while(arr[i-1]==arr[i]): del arr[i-1] return arr[:-1] def solution(arr): answer=[] temp = arr[0] answer.append(temp) for i in range(1,len(arr)): if temp != arr[i]: answer.append(arr[i]) temp = arr[i] return answer # for문하나로 작성이 가능했다. 처음에 arr의 맨 첫 숫자를 temp에 초기화 시켜주는 작업을 한다. # for문을 반복하면서 갱신된 temp와 arr의 원소가 다르면 ans..

[python] 2019 카카오 크레인 인형뽑기 게임

def solution(board, moves): answer = 0 # basket에서 같은거 만날때 +1 vertical=[] basket=[] for i in range(len(board)): vertical.append([]) for i in board: for j in range(len(board)): # i는 board순회 j는 board의 인덱스 추출 vertical[j].append(i[j]) for i in moves: # i는 board의 가로 번호 j=0 while(vertical[i-1][j]==0): # 0이 나오지않을때까지 vertical원소 지나치기 j+=1 if j==len(board)-1:break # 모두 0일때 if vertical[i-1][j]!=0: basket.ap..

[python] 백준 9506 약수들의 합

www.acmicpc.net/problem/9506 9506번: 약수들의 합 어떤 숫자 n이 자신을 제외한 모든 약수들의 합과 같으면, 그 수를 완전수라고 한다. 예를 들어 6은 6 = 1 + 2 + 3 으로 완전수이다. n이 완전수인지 아닌지 판단해주는 프로그램을 작성하라. www.acmicpc.net numbers=[] while(1): numbers.append(int(input())) if numbers[-1]==-1: break numbers=numbers[:-1] for number in numbers: tmp=[] i=1 while(i

[python] 백준 2480 주사위 세개

www.acmicpc.net/problem/2480 2480번: 주사위 세개 1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다. 같은 눈이 3개가 나오면 10,000원+(같은 눈)*1,000원의 상금을 받게 된다. 같은 눈이 2개만 www.acmicpc.net def same2(x,y): if x==y: return 1000+x*100 a,b,c=map(int,input().split()) if a==b and b==c: print(10000+a*1000) elif a==b or a==c or b==c: if same2(a,b)!=None:print(same2(a,b)) if same2(b,c)!=None:print(same2(b,c)) if same..

[python] 백준 1251 단어 나누기

www.acmicpc.net/problem/1251 1251번: 단어 나누기 알파벳 소문자로 이루어진 단어를 가지고 아래와 같은 과정을 해 보려고 한다. 먼저 단어에서 임의의 두 부분을 골라서 단어를 쪼갠다. 즉, 주어진 단어를 세 개의 더 작은 단어로 나누는 것이다 www.acmicpc.net www.acmicpc.net/problem/2993 2993번: 세 부분 첫째 줄에 원섭이가 고른 단어가 주어진다. 고른 단어는 알파벳 소문자로 이루어져 있고, 길이는 3보다 크거나 같고, 50보다 작거나 같다. www.acmicpc.net 백준 1251,2993 코드 동일 word = input() n=len(word) group = [[]] for i in range(1,n-1): for j in range(..

코딩테스트 한 번에 작성한것들,,

#컴프리헨션 샘플 (comprehension) # word = [sorted(list(inp[i])) for i in range(n)] # find = [len(inp[i]) if len(inp[i]) >= len(word[0]) else len(word[0]) for i in range(n) #---1912연속합 런타임에러 # import math # inp = int(input()) # numbers=input() # number = numbers.split(' ') # number = list(map(int,number)) # #윗줄 완성 정수형 리스트 # pos=0 # summ=0 # result =1 # b=max(number) # for i in range(int(math.factorial(i..