본문 바로가기

Algorithm/프로그래머스19

[프로그래머스] [Python] Level3_네트워크 https://programmers.co.kr/learn/courses/30/lessons/43162 코딩테스트 연습 - 네트워크 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있 programmers.co.kr def solution(n, computers): cnt = 0 visited = [False for _ in range(n)] for com in range(n): if visited[com] == False: dfs(n,computers,com,visited) cnt += 1 return cnt def dfs(n, computers, com, visit.. 2021. 10. 2.
[프로그래머스] [Python] Level2_조이스틱 https://programmers.co.kr/learn/courses/30/lessons/42860 코딩테스트 연습 - 조이스틱 조이스틱으로 알파벳 이름을 완성하세요. 맨 처음엔 A로만 이루어져 있습니다. ex) 완성해야 하는 이름이 세 글자면 AAA, 네 글자면 AAAA 조이스틱을 각 방향으로 움직이면 아래와 같습니다. ▲ - 다 programmers.co.kr 실패 코드 def solution(name): #유니코드로 변환하여 숫자 비교 A->65, Z->90, N->78 ,O->79 cnt = 0 ans = [] arr = [ord(i) for i in name] print(arr) for a in arr: ans.append(min(a-65,91-a)) print(ans) print(set(ar.. 2021. 10. 2.
[프로그래머스] [Python] Level1_K번째 수 https://programmers.co.kr/learn/courses/30/lessons/42748 코딩테스트 연습 - K번째수 [1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3] programmers.co.kr def solution(array, commands): answer = [] #command[0]-1 : slice start #command[1] : slice end #command[2]-1 : index for command in commands: answer.append(sorted(array[command[0]-1:command[1]])[command[2]-1]) return answer 2021.09.29 def so.. 2021. 9. 30.
[프로그래머스] [Python] Level2_타겟 넘버 https://programmers.co.kr/learn/courses/30/lessons/43165 코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+ programmers.co.kr 1차 시도 - Stack def solution(numbers, target): answer = 0 stack = [[numbers[0],0], [-1*numbers[0],0]] #[value, idx] n = len(numbers) while stack: temp, idx = stack.pop() #targ.. 2021. 8. 5.
[프로그래머스] [Python] Level3_디스크 컨트롤러 https://programmers.co.kr/learn/courses/30/lessons/42627 코딩테스트 연습 - 디스크 컨트롤러 하드디스크는 한 번에 하나의 작업만 수행할 수 있습니다. 디스크 컨트롤러를 구현하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 요청이 들어온 순서대로 처리하는 것입니다. 예를 programmers.co.kr 1차 시도 import heapq def solution(jobs): jobR = [] jobs.sort() sum = jobs[0][1] #총 수행시간 for i in range(1, len(jobs)): jobR.append(list([jobs[i][1], jobs[i][0]])) # print(jobR) #[소요시간,요청시점] while(jobR): .. 2021. 8. 5.
[프로그래머스] [Python] Level2_주식가격 https://programmers.co.kr/learn/courses/30/lessons/42584 코딩테스트 연습 - 주식가격 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,00 programmers.co.kr 1차 시도 def solution(prices): answer = [0 for i in range(0,len(prices))] prices_r = prices[::-1] for i in range(1,len(prices_r)): #앞에 나보다 작으면 break if prices_r[i-1] < prices_r[i]: an.. 2021. 8. 5.