코테준비/프로그래머스

코테준비/프로그래머스

[프로그래머스] [PCCE 기출문제] 9번 / 이웃한 칸 - Python

링크: https://school.programmers.co.kr/learn/courses/30/lessons/250125 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 아이디어 DFS에서 사용한 로직을 그대로 쓰면 될 것 같다. 4방향을 가리킬 배열 dy, dx를 만들어 반복문을 돌려 탐색 범위를 벗어나는 좌표인지 판단 후 벗어나지 않으면 원본과 비슷한지 확인한다. 원본과 같으면 answer + 1 코드 def solution(board, h, w): dy = [0,-1,0,1] dx = [-1,0,1,0] answer = 0 for i in range..

코테준비/프로그래머스

[프로그래머스] 다음 큰 숫자 - Python

링크: https://school.programmers.co.kr/learn/courses/30/lessons/12911 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 아이디어 조건 2와 조건 3의 관계를 찾는게 관건인 문제같다. 그냥 단순 for문을 돌아 1의 갯수를 카운트하여 다음 큰 수를 찾는 방법은 무리가 있을까? n이 1,000,000 이하여서 큰 영향은 없지 않을까? 일단 한 번 해보자 구현 def solution(n): #n을 2진수로 변환 후 1의 개수 카운트 cnt1 = bin(n).count("1") tmp = 1 #n을 1씩 키우며 2..

코테준비/프로그래머스

[프로그래머스] 큰 수 만들기 - Python

링크: https://school.programmers.co.kr/learn/courses/30/lessons/42883 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 아이디어 그냥 number문자열에서 k만큼 반복문으로 가장 작은 수를 제거하면 되는거 아닌가? 구현(틀림) def solution(number, k): answer = '' number = list(number) for i in range(k): number.pop(number.index(min(number))) return "".join(number) 하나 실패 틀린 원인 분석1 아이디어..

코테준비/프로그래머스

[프로그래머스] 기지국 설치 - Python

링크: https://school.programmers.co.kr/learn/courses/30/lessons/12979 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 아이디어 미리 설치된 기지국에서 전파가 전달되지 않는 부분의 범위를 저장하는 리스트 생성 그 리스트를 돌며 기지국을 몇개 설치해야하는지 판단 판단의 근거는 w*2+1 로 나눠 나머지와 몫이다. 구현 def solution(n, stations, w): answer = 0 need = [] # 1부터 첫 기지국 if (stations[0]-w-1) > 0: need.append(station..

코테준비/프로그래머스

[프로그래머스] 최고의 집합 - Python

링크: https://school.programmers.co.kr/learn/courses/30/lessons/12938 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 아이디어 s가 1이면 -1 넣고 리턴 곱했을 때 가장 큰 수가 나오려면 곱하는 모든 수가 골고루 커야한다. s를 n으로 나누고 나머지를 각 수에 뿌려준 수가 곱했을 때 가장 큰 수가 나온다. 이 후 오름차순으로 리턴 구현 def solution(n, s): answer = [] if s == 1: answer.append(-1) else: a = s//n b = s%n if b==0: fo..

코테준비/프로그래머스

[프로그래머스] 숫자 게임 - Python

링크: https://school.programmers.co.kr/learn/courses/30/lessons/12987 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 아이디어 A,와 B를 오름차순 정렬 작은 A의 요소를 이기는 가장 작은 B의 요소를 매칭시키며 for문을 돈다. 이기는 B요소를 찾으면 그 다음 작은 A의 요소를 다루기 위해 idx를 +1 그리고 이기는 경우를 찾았으니 cnt +1 cnt return 구현 def solution(A, B): A.sort() B.sort() idx = 0 cnt = 0 for i in B: if A[idx]

코테준비/프로그래머스

[프로그래머스] 야근지수 - Python

링크: https://school.programmers.co.kr/learn/courses/30/lessons/12927 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 아이디어 works의 sum이 n보다 작으면 0 return works 배열을 heapq로 만들어 가장 큰 수가 앞으로 오게 만든다. n번 반복하여 works에서 가장 큰 수에 -1을 해준다. 각 자릿수의 야근지수를 구해 더하고 return 구현(실패) import heapq def solution(n, works): # 야근을 하기전에 일이 끝남 if sum(works) < n: retu..

코테준비/프로그래머스

[프로그래머스] 네트워크 - Python

링크: https://school.programmers.co.kr/learn/courses/30/lessons/43162 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 아이디어 뭔가 말이 헷갈리긴 하는데 쉽게 보면 그래프 탐색인 듯 방문처리 배열 만들고 각 요소마다 bfs를 진행 bfs가 진행될 때마다 count변수 +1 구현 def solution(n, computers): global chk answer = 0 chk = [False]*n for i in range(n): if not chk[i]: chk[i] = True answer += 1 dfs..

코테준비/프로그래머스

[프로그래머스] 여행경로 - Python (DFS)

링크: https://school.programmers.co.kr/learn/courses/30/lessons/43164 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 아이디어 dfs bfs 뭘 사용해도 될 듯? dfs를 이용해서 풀어보자 (재귀) ICN부터 dfs탐색 시작 알파벳 순 판별은 대소비교를 통해 진행 지나간 경로는 del 구현(실패) def solution(tickets): # 경로를 저장할 배열 global road road = ["ICN"] # ICN부터 시작 dfs("ICN", tickets) return road # dfs 함수 def..

예찬예찬
'코테준비/프로그래머스' 카테고리의 글 목록