본문 바로가기

Algorithm/구현92

[프로그래머스 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 정답 구현 (정답 맞춘 여부 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.
[프로그래머스 lv 1] 크레인 인형뽑기 게임 사용 언어 - Python3 문제 - 크레인 인형뽑기 게임 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 단순 구현 (정답 맞춘 여부 O) 1. moves 위치의 board 인형이 있다면, 2. 바구니에 담는 인형을 doll 리스트에 저장해준다. 2.1. doll안에 인형이 있고, 마지막 인형이 현재 넣으려는 인형과 같다면, 터트리기 횟수 answer += 2 추가 마지막 인형 삭제 2.2. doll에 인형 append하기 3. 해당 인형을 뽑았으니 없애고 더이상의 board를 검색하지 않고 중단한다. break def solution(board, .. 2023. 5. 23.
[프로그래머스 lv 1] 키패드 누르기 사용 언어 - Python3 문제 - 키패드 누르기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 단순 구현 (정답 맞춘 여부 X) 딕셔너리 형태로 저장 def solution(numbers, hand): answer = '' dic = {1: [0, 0], 2: [0, 1], 3: [0, 2], 4: [1, 0], 5: [1, 1], 6: [1, 2], 7: [2, 0], 8: [2, 1], 9: [2, 2], '*':[3, 0], 0: [3, 1], '#': [3, 2]} left_s = dic['*'] right_s = dic['#'] for .. 2023. 5. 22.
[프로그래머스 lv 1] 두 개 뽑아서 하기 사용 언어 - Python3 문제 - 두 개 뽑아서 더하기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 단순 구현 (정답 맞춘 여부 O) 첫 번째 시도 => 테스트4,5 실패 1. numbers 리스트 원소들을 한개씩 확인하면서 두 값이 다르거나, 같더라도 원소 위치가 다르면 answer에 append 했다. 2. 모든 경우의 수를 다 더해준 answer를 set(중복제거&오름차순)하여 list로 변환후 출력 => set 때문에 시간복잡도가 높아져 numbers 리스트가 큰 경우에 오류가 발생한 것 같다. def solution(numbers): .. 2023. 5. 21.