본문 바로가기

분류 전체보기

(270)
프로그래머스 87946 피로도 자바스크립트 풀이 난이도 : Lv. 2풀이일 : 2412242https://school.programmers.co.kr/learn/courses/30/lessons/87946?language=python3 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제풀이 코드function solution(k, dungeons) { let answer = -1 let visited = new Array(dungeons.length).fill(false) function DFS(hp, depth) { if (answer = dungeons[i][0]) { visited[i..
프로그래머스 87946 피로도 자바 풀이 난이도 : Lv. 2풀이일 : 2412242https://school.programmers.co.kr/learn/courses/30/lessons/87946?language=python3 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제풀이 코드class Solution { int answer = -1; boolean[] visited; public int solution(int k, int[][] dungeons) { visited = new boolean[dungeons.length]; DFS(k, 0, dungeons); ..
프로그래머스 87946 피로도 파이썬 풀이 난이도 : Lv. 2풀이일 : 2412231https://school.programmers.co.kr/learn/courses/30/lessons/87946?language=python3 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제풀이 코드def solution(k, dungeons): answer = -1 visited = [False] * len(dungeons) def DFS(s, hp, depth): nonlocal answer if answer = dungeons[i][0]: visited[i] = True ..
프로그래머스 12935 제일 작은 수 제거하기 자바스크립트 풀이 난이도 : Lv. 1풀이일 : 2412205https://school.programmers.co.kr/learn/courses/30/lessons/12935 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제풀이 코드function solution(arr) { var mini = Math.min(...arr) var answer = arr.filter(num => num != mini) return answer.length > 1 ? answer : [-1]}mini : 가장 작은 수 저장answer : 가장 작은 수가 아닌 숫자들을 담아 answer 배열 생성배열에 요소가 있으면..
프로그래머스 42626 더 맵게 파이썬 풀이 난이도 : Lv. 2풀이일 :  2412205 https://school.programmers.co.kr/learn/courses/30/lessons/42626 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제아이디어힙을 이용해 음식들의 스코빌 지수를 저장한다.스코빌지수가 제일 작은 음식의 스코빌 지수가 K가 넘는지 확인하고, 넘지 않는다면 다음으로 스코빌 지수가 낮은 음식과 섞는다.모든 음식의 스코빌 지수가 K를 넘는다면 섞은 횟수를, 아니라면 -1을 반환한다.풀이 코드import heapqdef solution(scoville, K): answer = 0 foods = [] # 스코빌 지..
파이썬 중첩함수 UnboundLocalError에러와 nonlocal 등 문제 상황 정리할 문제는 아래와 같다.1. 중첩함수 내에서 int 타입 자유변수를 수정할 방법2. 중첩함수 내부함수에서 외부함수에 선언된 list는 수정이 되는데 int는 수정하려고 하면 에러가 발생하는 원인 며칠 전, 프로그래머스 배달 문제 풀이 코드가 마음에 들지 않아서 째려보고 있다가 찾아보고 작성하는 글이다.https://chadireoroonu.tistory.com/243 프로그래머스 12978 배달 파이썬 풀이난이도 : Lv. 2풀이일 : 2412043https://school.programmers.co.kr/learn/courses/30/lessons/12978 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프program..
프로그래머스 87694 아이템 줍기 자바 풀이 난이도 : Lv. 3풀이일 : 2412183https://school.programmers.co.kr/learn/courses/30/lessons/87694 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제풀이 코드import java.util.LinkedList;import java.util.Queue;class Solution { public int solution(int[][] rectangle, int characterX, int characterY, int itemX, int itemY) { int answer = 0; boolean[][] land..
프로그래머스 87694 아이템 줍기 파이썬 풀이 난이도 : Lv. 3풀이일 : 2412183https://school.programmers.co.kr/learn/courses/30/lessons/87694 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제문제 상황처음 풀이 도중 문제가 발생했다. 위 그림과 같은 상황에서 x, y (3, 5)에서 (4, 5)로 이동해야 하는데, (3, 6)으로 움직이게 되어 맵을 가로 세로 모두 두 배씩 확장했다.풀이 코드from collections import dequedef solution(rectangle, characterX, characterY, itemX, itemY): answer = 0 ..
프로그래머스 17682 다트 게임 자바 풀이 난이도 : Lv. 1풀이일 : 2412172https://school.programmers.co.kr/learn/courses/30/lessons/17682 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제풀이 코드import java.util.HashMap;import java.lang.Math;class Solution { public int solution(String dartResult) { int answer = 0; int index = 0; // 현재 숫자 인덱스 int[] result = new int[3]; // 각 숫자 처리 결과 저장 ..
프로그래머스 17682 다트 게임 파이썬 풀이 난이도 : Lv. 1풀이일 : 2412172https://school.programmers.co.kr/learn/courses/30/lessons/17682 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제풀이 코드def solution(dartResult): answer = [] nums = dartResult.replace('10', 'X') nums = list(map(str, nums)) bonus = {'S': 1, 'D': 2, 'T': 3} for i in nums: if i in bonus: # 최근 숫자의 보너스 승 an..
프로그래머스 42746 가장 큰 수 파이썬 풀이 난이도 : Lv. 2풀이일 : 2412161https://school.programmers.co.kr/learn/courses/30/lessons/42746 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제아이디어숫자들을 문자로 변환 후 정렬한다.30, 3 숫자들의 정렬을 위해 x * 5 값을 기준으로 정렬한다.마지막에 붙인 문자열을 숫자로 변환했다가 다시 문자로 변환하여 반환한다.풀이 코드def solution(numbers): answer = list(map(str, numbers)) answer.sort(key=lambda x : x * 5, reverse=True) ret..
프로그래머스 12935 제일 작은 수 제거하기 자바 풀이 난이도 : Lv. 1풀이일 : 2412161https://school.programmers.co.kr/learn/courses/30/lessons/12935 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제풀이 코드class Solution { public int[] solution(int[] arr) { if (arr.length arr 길이가 1이라면 [-1]을 반환idx : 배열의 가장 작은 수 인덱스를 저장할 변수answer : 가장 작은 수를 제외한 숫자들을 저장할 배열가장 작은 수 탐색 : 배열을 순회하며 가장 작은 수의 인덱스를 찾아 저장가장 작은 수 제외 나머지 answ..
프로그래머스 12935 제일 작은 수 제거하기 파이썬 풀이 난이도 : Lv. 1풀이일 : 2412161https://school.programmers.co.kr/learn/courses/30/lessons/12935 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제풀이 코드def solution(arr): arr.remove(min(arr)) return arr if arr else [-1]arr에서 가장 작은 수를 삭제만약, arr에 원소가 없다면 [-1] 반환, 아니면 arr 반환제출 결과느낀점이제 자바로 풀어봐야지!
프로그래머스 12978 배달 파이썬 풀이 난이도 : Lv. 2풀이일 : 2412043https://school.programmers.co.kr/learn/courses/30/lessons/12978 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제아이디어다익스트라 알고리즘을 구현한다.1번 마을에서 다익스트라 함수를 실행하여 K 시간 내로 배달 가능한 마을의 숫자를 answer에 센다.answer를 출력한다.1차 전체 풀이 코드import heapqdef solution(N, road, K): answer = 0 route = [[] for _ in range(N + 1)] def djikstra(start): ..
프로그래머스 72413 합승 택시 요금 파이썬 풀이 난이도 : Lv. 3풀이일 : 2411295https://school.programmers.co.kr/learn/courses/30/lessons/72413 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제그림이 너무 크고 많아서 링크로 이동해서 문제를 확인하시길 추천드립니다.아이디어출발지에서 모든 도착지에 대해 다익스트라 알고리즘으로 최소 비용 탐색반복문을 순회하며 모든 장소에서 a, b의 목적지까지 최소 비용 탐색하고 최소값 저장전체 풀이 코드import heapqdef solution(n, s, a, b, fares): answer = int(1e9) road = [[] for _ in..
프로그래머스 43163 단어 변환 자바 풀이 난이도 : Lv. 3풀이일 : 2411144https://school.programmers.co.kr/learn/courses/30/lessons/43163 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제아이디어BFS로 탐색한다.queue를 사용해서 현재 단어와 현재까지의 변환 횟수를 저장한다.words 안의 모든 단어에 대해 현재 단어와 몇 글자가 다른지 비교 작업을 한다.현재 단어와 한 글자만 다른 단어로 변환하고, 변환 단어와 변환 횟수를 queue에 추가한다.목표단어에 도달할 경우, 변환 횟수를 반환하고, 끝까지 도달하지 못하면 0을 출력한다.풀이 코드import java.util.Queue;..
프로그래머스 43163 단어 변환 파이썬 풀이 난이도 : Lv. 3풀이일 : 2411144https://school.programmers.co.kr/learn/courses/30/lessons/43163 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제아이디어BFS로 탐색한다.queue를 사용해서 현재 단어와 현재까지의 변환 횟수를 저장한다.words 안의 모든 단어에 대해 현재 단어와 몇 글자가 다른지 비교 작업을 한다.현재 단어와 한 글자만 다른 단어로 변환하고, 변환 단어와 변환 횟수를 queue에 추가한다.목표단어에 도달할 경우, 변환 횟수를 반환하고, 끝까지 도달하지 못하면 0을 출력한다.풀이 코드from collections import..
프로그래머스 43164 여행경로 파이썬 풀이 난이도 : Lv. 3풀이일 : 2411144https://school.programmers.co.kr/learn/courses/30/lessons/43164 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제풀이 코드def solution(tickets): answer = [] visited = [False] * len(tickets) # 방문여부 def DFS(route): # 모든 티켓을 사용했다면 route에 경로 추가 if len(route) == len(tickets) + 1: answer.append(route) ..
프로그래머스 43165 타겟 넘버 자바 풀이 난이도 : Lv. 2풀이일 : 2411111https://school.programmers.co.kr/learn/courses/30/lessons/43165 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제아이디어모든 숫자에 대해 각 숫자를 빼거나 더한 값을 담아 다음 숫자에 넘겨준다.다음 숫자에서는 넘겨받은 계산 값에 본인을 뺀 값, 더한 값 각각 다음 숫자한테 넘겨준다.마지막 자리의 숫자를 더하거나 뺄 때는 해당 계산이 끝난 후, now가 target과 일치하는지 확인하여 answer 를 더한다.풀이 코드import java.util.Queue;import java.util.LinkedList;cl..
프로그래머스 43165 타겟 넘버 파이썬 풀이 난이도 : Lv. 2풀이일 : 2411111https://school.programmers.co.kr/learn/courses/30/lessons/43165 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제아이디어모든 숫자에 대해 각 숫자를 빼거나 더한 값을 담아 다음 숫자에 넘겨준다.다음 숫자에서는 넘겨받은 계산 값에 본인을 뺀 값, 더한 값 각각 다음 숫자한테 넘겨준다.마지막 자리의 숫자를 더하거나 뺄 때는 해당 계산이 끝난 후, now가 target과 일치하는지 확인하여 answer 를 더한다.풀이 코드from collections import dequedef solution(numbers, ta..