본문 바로가기

알고리즘/Programmers

(5)
자바 | 프로그래머스 | 단어변환 https://programmers.co.kr/learn/courses/30/lessons/43163 코딩테스트 연습 - 단어 변환 두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 1. 한 번에 한 개의 알파벳만 바꿀 수 programmers.co.kr import java.util.*; class Solution { public int solution(String begin, String target, String[] words) { int answer = 0; int[] visited = new int[words.length]; // 초기 큐 설정 Queue q =..
자바 | 프로그래머스 | 네트워크 https://programmers.co.kr/learn/courses/30/lessons/43162 코딩테스트 연습 - 네트워크 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있 programmers.co.kr Solution 그냥 dfs돌리면 된다.. class Solution { static boolean[] visited; public int solution(int n, int[][] computers) { int answer = 0; visited = new boolean[n]; for (int i=0;i
자바 | 프로그래머스 | 타겟 넘버 https://programmers.co.kr/learn/courses/30/lessons/43165?language=java class Solution { static int answer; public int solution(int[] numbers, int target) { answer = 0; dfs(0, 0, 0, numbers.length, numbers, target); return answer; } void dfs(int cnt, int start, int res, int N, int[] numbers, int target){ if (cnt==N){ if (res==target){ answer++; } return; } for (int i=start; i
파이썬 | 프로그래머스 | 오픈채팅방 def solution(record): answer = [] # 동작 act = dict() act["Enter"] = 1 act["Leave"] = 2 # 닉네임 nickname = dict() history = [] for i in range(len(record)): temp = record[i].split(" ") if temp[0]=="Enter": history.append((act.get(temp[0]), temp[1])) nickname[temp[1]] = temp[2] elif temp[0]=="Leave": history.append((act.get(temp[0]), temp[1])) else: nickname[temp[1]] = temp[2] result = [] for i in ran..
파이썬 | 프로그래머스 | 더 맵게 solution 힙 이용한 기본 문제 같다.. import heapq def solution(scoville, K): heapq.heapify(scoville) cnt = 0 while scoville[0] < K: if len(scoville) < 2: # 모든 음식의 스코빌 지수를 K 이상으로 만들 수 없는 경우 return -1 temp1 = heapq.heappop(scoville) temp2 = heapq.heappop(scoville) heapq.heappush(scoville, temp1+temp2*2) cnt += 1 return cnt 문제 출처 programmers.co.kr/learn/courses/30/lessons/42626 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는..