본문 바로가기

분류 전체보기

(234)
프로그래머스 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..
프로그래머스 12904 가장 긴 팰린드롬 자바 풀이 난이도 : Lv. 3풀이일 : 2411074https://school.programmers.co.kr/learn/courses/30/lessons/12904 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제아이디어투 포인터를 사용해 팰린드롬인지 여부를 검사하자왼쪽 인덱스를 하나씩 늘려가고, 각 왼쪽 인덱스마다 오른쪽 인덱스는 제일 뒤에서부터 줄어들게 설정하자풀이 코드class Solution{ public int solution(String s) { int answer = 0; // i : 왼쪽 ~ 마지막, j : 마지막 ~ i for (int i = 0; i i..
프로그래머스 12904 가장 긴 팰린드롬 파이썬 풀이 난이도 : Lv. 3풀이일 : 2411074https://school.programmers.co.kr/learn/courses/30/lessons/12904 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제아이디어투 포인터를 사용해 팰린드롬인지 여부를 검사하자왼쪽 인덱스를 하나씩 늘려가고, 각 왼쪽 인덱스마다 오른쪽 인덱스는 제일 뒤에서부터 줄어들게 설정하자풀이 코드def solution(s): answer = 0 for i in range(len(s)): for j in range(len(s) - 1, i - 1, -1): # 최댓값 유망성 검사 ..
프로그래머스 43105 정수 삼각형 파이썬 풀이 난이도 : Lv. 3풀이일 : 2411052https://school.programmers.co.kr/learn/courses/30/lessons/43105 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제풀이 코드def solution(triangle): dp = [[0] * len(triangle[-1]) for _ in range(len(triangle[-1]))] dp[0][0] = triangle[0][0] for i in range(1, len(triangle)): for j in range(len(triangle[i])): dp[i][..
프로그래머스 92334 신고 결과 받기 자바 풀이 난이도 : Lv. 1풀이일 : 2411015https://school.programmers.co.kr/learn/courses/30/lessons/92334 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제아이디어id_list의 인덱스를 활용해서 문자열을 숫자처럼 사용하자complain 2차원 배열을 만들어, 각 이용자가 신고한 사람의 정보를 저장한다.complain 저장 시, count에 신고 당한 사람의 신고 당한 횟수를 저장한다.이용자별로 신고한 사람 중 총 신고 횟수가 k 이상인 사람의 수를 출력한다.전체 풀이 코드import java.util.HashMap;class Solution { ..
프로그래머스 92334 신고 결과 받기 파이썬 풀이 난이도 : Lv. 1풀이일 : 2411015https://school.programmers.co.kr/learn/courses/30/lessons/92334 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제아이디어id_list의 인덱스를 활용해서 문자열을 숫자처럼 사용하자complain 2차원 배열을 만들어, 각 이용자가 신고한 사람의 정보를 저장한다.complain 저장 시, count에 신고 당한 사람의 신고 당한 횟수를 저장한다.이용자별로 신고한 사람 중 총 신고 횟수가 k 이상인 사람의 수를 출력한다.전체 풀이 코드def solution(id_list, report, k): answer =..
프로그래머스 250136 석유시추 파이썬 풀이 난이도 : Lv. 2풀이일 : 2410314https://school.programmers.co.kr/learn/courses/30/lessons/250136 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제아이디어매장된 석유를 만나면 BFS탐색으로 석유의 양을 구한다.BFS 탐색 중에 제일 왼쪽 위치와 제일 오른쪽 위치를 기록한다.BFS 탐색 종료 후에 탐색한 석유 매장지의 횡방향 모든 칸에 석유의 양을 더해준다.석유의 양이 가장 많은 칸의 값을 출력한다.전체 풀이 코드from collections import dequedef solution(land): N, M = len(land), len(..
프로그래머스 250137 붕대감기 파이썬 풀이 난이도 : Lv. 1풀이일 : 2410303https://school.programmers.co.kr/learn/courses/30/lessons/250137 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제아이디어마지막 공격까지 매 초 동안 반복문을 수행한다.공격 정보는 포인터로 관리한다.전체 풀이 코드def solution(bandage, health, attacks): answer = health second = 0 # 붕대감기 지속 시간 pointer = 0 # 다음 공격 for i in range(attacks[-1][0] + 1): # 공격을 받은 경우 ..
프로그래머스 258712 가장 많이 받은 선물 파이썬 풀이 난이도 : Lv. 1풀이일 : 2410292https://school.programmers.co.kr/learn/courses/30/lessons/258712 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제아이디어이름 대신 숫자를 사용할 수 있도록, 딕셔너리를 활용하자선물 주고 받은 정보를 2차원 배열에 저장하고, 선물지수는 1차원 배열에 저장하자주고 받은 선물 개수와 선물지수를 비교하며 각 사람이 받을 선물을 구하자전체 풀이 코드def solution(friends, gifts): answer = 0 N = len(friends) name = {} info = [[0] * N ..
프로그래머스 42628 이중우선순위큐 파이썬 풀이 난이도 : Lv. 3풀이일 : 2410292https://school.programmers.co.kr/learn/courses/30/lessons/42628 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제아이디어최소힙과 최대힙 두 개를 각각 운영하며, 한 쪽에서 삭제된 요소인지 여부를 확인할 배열을 두고, 이중우선순위 큐로 사용한다.삭제 연산 시, 유효한 숫자인지 확인하는 과정을 거친다.전체 코드import heapqdef pop(queue, arr): # 이중우선순위 큐 pop 연산 while queue: num, index = heapq.heappop(queue) i..
프로그래머스 154538 숫자 변환하기 자바 풀이 난이도 : Lv. 2풀이일 : 2410255https://school.programmers.co.kr/learn/courses/30/lessons/154538 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제아이디어BFS 탐색으로 x가 y될 때까지 필요한 변환 횟수를 기록하자y 크기의 배열에 기록하고, x 변환 후 y가 넘어가는 경우는 기록하지 않는다풀이import java.util.LinkedList;import java.util.Queue;class Solution { public int solution(int x, int y, int n) { int answer = 0; ..
프로그래머스 12914 멀리 뛰기 파이썬 풀이 난이도 Lv. 4풀이일 : 2410244https://school.programmers.co.kr/learn/courses/30/lessons/12914 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제아이디어칸012345방법 수0123583부터는 (n-1) + (n-2) 형태로 방법의 수가 증가한다dp로 방법의 수를 더해나가자1234567로 나눈 나머지를 기록하여 숫자가 커지지 않게 조절하자풀이def solution(n): answer = 0 dp = [0] * (n+1) for i in range(n): if i dp 크기는 n이 1일때의 런타임에러 방지를 위해 n+1로..
프로그래머스 12914 멀리 뛰기 자바스크립트 풀이 난이도 Lv. 4풀이일 : 2410244https://school.programmers.co.kr/learn/courses/30/lessons/12914 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제아이디어칸012345방법 수0123583부터는 (n-1) + (n-2) 형태로 방법의 수가 증가한다dp로 방법의 수를 더해나가자1234567로 나눈 나머지를 기록하여 숫자가 커지지 않게 조절하자풀이function solution(n) { var answer = 0; let dp = [] for (let i = 0; i dp 크기 별도 설정이 필요하지 않았다반복문을 순회하며, i가 ..
프로그래머스 12914 멀리 뛰기 자바 풀이 난이도 Lv. 4풀이일 : 2410244https://school.programmers.co.kr/learn/courses/30/lessons/12914 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제아이디어칸012345방법 수0123583부터는 (n-1) + (n-2) 형태로 방법의 수가 증가한다dp로 방법의 수를 더해나가자1234567로 나눈 나머지를 기록하여 숫자가 커지지 않게 조절하자풀이class Solution { public int solution(int n) { int answer = 0; int[] dp = new int[n+1]; // 1 런타임 에러 방..
프로그래머스 12909 올바른 괄호 자바스크립트 풀이 난이도 : Lv. 2풀이일 : 2410222https://school.programmers.co.kr/learn/courses/30/lessons/12909 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제아이디어기본 answer 설정은 true로 두고 시작여는 괄호는 스택에 추가닫는 괄호가 나오면 스택에 있는 여는 괄호를 삭제스택이 비어있는데 닫는 괄호가 나온다면 올바르지 못한 괄호 -> flase모든 괄호를 확인했는데 스택에 여는 괄호가 나왔다면 올바르지 못한 괄호 -> false풀이function solution(s){ var answer = tr..
프로그래머스 12909 올바른 괄호 자바 풀이 난이도 : Lv. 2풀이일 : 2410222https://school.programmers.co.kr/learn/courses/30/lessons/12909 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제아이디어기본 answer 설정은 true로 두고 시작여는 괄호는 스택에 추가닫는 괄호가 나오면 스택에 있는 여는 괄호를 삭제스택이 비어있는데 닫는 괄호가 나온다면 올바르지 못한 괄호 -> flase모든 괄호를 확인했는데 스택에 여는 괄호가 나왔다면 올바르지 못한 괄호 -> false풀이import java.util.Stack;class Solution { ..
프로그래머스 49189 가장 먼 노드 자바 풀이 난이도 : Lv. 3풀이일 : 2410211https://school.programmers.co.kr/learn/courses/30/lessons/49189 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제풀이import java.util.LinkedList;import java.util.Queue;class Solution { public int solution(int n, int[][] edge) { int answer = 0; int[] distance = new int[n]; boolean [][] loads..