본문 바로가기

프로그래머스 코테133

[프로그래머스 lv1] 옹알이(2) 사용 언어 - Python3 문제 - 옹알이(2) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 문자열 replace (정답 맞춘 여부 X) 발음가능한 언어(j)가 중복된 상태가 아니라면 => i안에 있는 j 값을 공백으로 대체한다. 전부 공백으로 대체되어있다면, 모두 발음가능하기 때문에 count += 1 def solution(babbling): count = 0 baby = ["aya","ye","woo","ma"] for i in babbling: for j in baby: if j*2 not in i: i = i.replace(j,' ') .. 2023. 5. 10.
[프로그래머스 lv1] 햄버거 만들기 사용 언어 - Python3 문제 - 햄버거 만들기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 스택 간단 활용 (정답 맞춘 여부 O) 문자열 삭제 del stack[-4:] def solution(ingredient): #1,2,3,1 빵, 야채, 고기, 빵 stack = [] ham = 0 for i in ingredient: stack.append(i) if stack[-4:] == [1,2,3,1]: ham += 1 del stack[-4:] return ham 레퍼런스 정답 깃허브 GitHub - yyeongeun/codingtest: 코.. 2023. 5. 10.
[프로그래머스 lv1] 푸드 파이트 대회 사용 언어 - Python3 문제 - 푸드 파이트 대회 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 문자열 더하기 (정답 맞춘 여부 O) 문자열 순서 바꾸기 [::-1] def solution(food): num1 = '' answer = '' for i in range(1,len(food)): a = food[i]//2 # 몫(한 선수당) num1 += str(i)*a # a만큼 i를 출력해야함 answer += num1 answer += str(0) answer += num1[::-1] return answer 레퍼런스 정답 깃허브 GitHub.. 2023. 5. 9.
[프로그래머스 lv 3] 네트워크 사용 언어 - Python3 문제 - 네트워크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 재귀적인 DFS 문제 (정답 맞춘 여부 X) 1. visited 방문여부 리스트 생성 2. for문을 두개 만들어서 인덱스 com, connect를 비교 값이 1이고, 방문여부가 False인 노드를 또 DFS 재귀함수를 돌리는 구조 com 인덱스를 방문한 후, com에서 connect 인덱스를 방문하기 때문에 DFS(n,computers,connect,visited)로 바뀜 방문한 connect를 기준으로 또 새로운 노드를 방문하려고 하는 재귀함수이다. 3... 2023. 2. 15.
[프로그래머스 lv 2] 모음사전 사용 언어 - Python3 문제 - 모음사전 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 순열조합 완전탐색 or 규칙 찾는 문제 (정답 맞춘 여부 X) 정답 풀이 1. product(리스트, repeat=반복횟수) 중복순열 이용하기 product는 처음 알게되었다. product(리스트, repeat=반복횟수) : 중복 순열. 1부터 5까지 반복해야하기 때문에 for문으로 구현한다. words 빈리스트에 list(중복순열)을 append해서 모든 가능한 조합을 저장한다. 그 뒤 words리스트를 sort 정렬을 하고, index를 찾는다. ind.. 2023. 2. 15.
[프로그래머스 lv 2] 전력망을 둘로 나누기 사용 언어 - Python3 문제 - 전력망을 둘로 나누기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 완전탐색 BFS 문제 (정답 맞춘 여부 X) 정답 풀이 해당 와이어를 끊었을 때, BFS를 돌려서 한쪽 영역의 노드 수를 구한다. BFS) 해당 노드를 방문하지 않은 경우, 연결된 노드수 result를 구한다. 앞서 저장된 answer값과 현재 result로 구한 노드 간의 차를 비교했을 때, 더 작은 값으로 return 한다. # 정답 from collections import deque def bfs(start,visited,graph): q.. 2023. 2. 10.
[프로그래머스 lv 2] 카펫 사용 언어 - Python3 문제 - 카펫 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 규칙 찾는 완전 탐색 문제 (정답 맞춘 여부 X) 정답 풀이 규칙 찾기 (가로 축 a, 세로 축 b) (a-2)*(b-2) = yellow 2*a + 2*b - 4 = brown => yellow + brown = ab total = yellow + brown 이라고 했을 때, total / b = a # 정답 def solution(brown, yellow): answer = [] total = yellow + brown for b in range(1,tota.. 2023. 2. 7.
[프로그래머스 lv 2] 소수 찾기 사용 언어 - Python3 문제 - 소수찾기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 순열조합 생성 후 소수 판별하는 완전 탐색 문제 (정답 맞춘 여부 X) 정답 풀이 1. numbers를 하나씩 자르기 nums = [n for n in numbers] 2. 순열조합 생성 list(permutations(nums,i)) 3. 소수 판별 check True/False 4. set으로 중복 제거 후 개수 return # 정답 from itertools import permutations def solution(numbers): answer = [.. 2023. 2. 7.
[프로그래머스 lv 4] 징검다리 사용 언어 - Python3 문제 - 징검다리 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 징검다리를 하나씩 건너면서 두 돌 사이의 거리를 찾는 이분 탐색 문제 (정답 맞춘 여부 X) 정답 풀이 1. start,end 정의 돌 사이의 최소 거리는 1, 최대 거리는 distance 2. rocks 오름차순 정렬 마지막 돌과 도착지점 사이의 거리도 있으므로, rocks 리스트에 distance를 추가해준다. 3. start n인 경우, mid 값이 크기 때문이라 end = mid-1 아닌 경우, answer에 mid 값 입력한다. mid 값이 작기 때.. 2023. 2. 7.
[프로그래머스 lv 1] 모의고사 사용 언어 - Python3 문제 - 모의고사 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 수포자의 정답과 진짜 정답을 한개씩 비교하는 완전 탐색 문제 (정답 맞춘 여부 O) 정답 풀이 1. 수포자가 찍는 방식 num1,num2,num3 리스트로 저장 2. 문제를 맞춘 개수를 total1,total2,total3에 +1로 저장 3. 인덱스를 각 수포자의 패턴 개수로 나눠준다. 4. max 값이 total1,total2,total3과 같다면, answer에 append해준다. # 정답 def solution(answers): num1 = [1,2,3.. 2023. 2. 6.