본문 바로가기

프로그래머스 코테133

[프로그래머스 lv 1] x만큼 간격이 있는 n개의 숫자 사용 언어 - Python3 문제 - x만큼 간격이 있는 n개의 숫자 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 단순 구현 (정답 맞춘 여부 O) 계속 테스트8에서 런타임 에러 발생 => x가 0일 경우를 고려하지 않았기 때문이었다. # 런타임 에러 def solution(x, n): if x >= 0: answer = [i for i in range(x,x*n+1,x)] else: answer = [i for i in range(x,x*n-1,x)] return answer # 런타임 에러 def solution(x, n): answer = [.. 2023. 5. 31.
[프로그래머스 lv 1] 직사각형 별찍기 사용 언어 - Python3 문제 - 직사각형 별찍기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 단순 구현 (정답 맞춘 여부 O) 함수 정의 안하는 문제는 처음봐서 print()로만 해도 되나 싶었다. 저렇게 내는 문제도 있구나 n,m = map(int,input().rstrip().split(' ')) for i in range(m): print("*"*n) 레퍼런스 정답 깃허브 GitHub - yyeongeun/codingtest: 코딩테스트 공부 코딩테스트 공부. Contribute to yyeongeun/codingtest developm.. 2023. 5. 31.
[프로그래머스 lv 1] 소수 만들기 사용 언어 - Python3 문제 - 소수 만들기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 itertool.combination 소수 구하기 (정답 맞춘 여부 O) 1. 리스트 n개 중에 3개 선택하기 import itertools itertools.combination(n,3) = nC3 2. 3개씩 묶은 조합을 더해서 새로운 리스트에 저장해준다. 이때, 합이 같은 경우가 있을 수 있으니 중복을 제거한다. 3. 소수 구하기 1부터 숫자의 절반까지로 나눠주면서 나누어떨어지는 개수가 1개라면 소수 개수를 count 해준다. # 정답 import .. 2023. 5. 31.
[프로그래머스 lv 1] 예산 사용 언어 - Python3 문제 - 예산 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 런타임 에러 없이 구현 (정답 맞춘 여부 O) # 런타임 에러 def solution(d, budget): # 주어진 예산으로 최대한 많은 부서의 물품 구매 d.sort() # 주어진 예산 sum_b = 0 # 예산 합 for i in range(len(d)): sum_b += d[i] if sum_b 2023. 5. 30.
[프로그래머스 lv 1] [1차] 비밀 지도 사용 언어 - Python3 문제 - [1차] 비밀 지도 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 bin 사용해서 이진법 변환 (정답 맞춘 여부 X) bin을 까먹고 무식하게 나누기/몫 으로 2진법 변환했더니, 테스트3에서 실패 def solution(n, arr1, arr2): # arr1 이진법으로 바꾸기 new1 = [] for i in arr1: a = '' while i > 1: a += str(i%2) #나머지 i = i//2 # 몫 a += str(1) if len(a) < n: while len(a) < n: a += str(0).. 2023. 5. 30.
[프로그래머스 lv 1] [1차] 다트 게임 사용 언어 - Python3 문제 - [1차] 다트 게임 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 단순 구현 (정답 맞춘 여부 O) 코드 길이가 너무 길어서 줄이는 연습이 필요해보인다. def solution(dartResult): # 해당 점수 마이너스 score = [] for i in range(1,len(dartResult)): d = dartResult[i] dd = dartResult[i-1] # S D T 점수계산 if d == 'S' and dd.isdigit(): # 숫자가 10인 경우 if dd == '0' and dartRe.. 2023. 5. 30.
[프로그래머스 lv 1] 폰켓몬 사용 언어 - Python3 문제 - 폰켓몬 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 해시 (정답 맞춘 여부 X) nums/2 포켓몬 뽑을 때 중복을 제거한 포켓몬 사이에서 뽑아주면, answer = nums/2 3개를 뽑아야하는데, 중복을 제거하니 2종류(len(nums)) 밖에 없다면 len(nums)을 출력한다. min(len(nums), choose) def solution(nums): answer = 0 choose = int(len(nums)/2) nums = set(nums) answer = min(len(nums),choose) .. 2023. 5. 29.
[프로그래머스 lv1] 완주하지 못한 선수 사용 언어 - Python3 문제 - 완주하지 못한 선수 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 시간초과 => 해시 사용하기 (정답 맞춘 여부 X) # 방법1 시간초과 def solution(participant, completion): answer = '' for p in participant: if p in completion: completion.remove(p) else: answer += p return answer # 방법2 시간초과 def solution(participant, completion): answer = '' key .. 2023. 5. 29.
[프로그래머스 lv 1] 신규 아이디 추천 사용 언어 - Python3 문제 - 신규 아이디 추천 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 구현 (정답 맞춘 여부 O) 2단계에서 i.isalpha() or i.isdigit() 사용하는 게 더 좋을 것 같다 리스트 인덱싱을 할 땐 len(answer)를 생각하기! def solution(new_id): answer = '' # 1단계 new_id = new_id.lower() # 2단계 alpha = 'abcdefghijklmnopqrstuvwxyz' num = '0123456789' for i in new_id: if i in alph.. 2023. 5. 29.
[프로그래머스 lv 1] 실패율 사용 언어 - Python3 문제 - 실패율 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 구현 (정답 맞춘 여부 X) 정렬 후 리스트 원소값을 출력하는 방법을 몰라서 틀렸다. 새 리스트명 = sorted(리스트명, reverse=True) a를 s의 정렬된 버전으로 리스트를 저장해주고, s.index(a[i]) : a의 첫번째 값부터 s에서 찾아서 index를 정답으로 뽑아준다. 중복 방지를 위하여, s에서 이미 찾아진 index의 값은 s[s.index(a[i])] = 2로 설정해준다. 실패율은 1보다 크지 않기 때문에 2는 불가능하기 때문이다... 2023. 5. 28.