본문 바로가기

알고리즘/Lv. 3

(9)
프로그래머스 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) ..
프로그래머스 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][..
프로그래머스 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..
프로그래머스 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..
프로그래머스 43162 네트워크 자바 풀이 난이도 : Lv. 3풀이일 : 2410185https://school.programmers.co.kr/learn/courses/30/lessons/43162 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제아이디어현재 컴퓨터가 네트워크에 연결되어 있는 지 확인할 boolean 타입의 check 배열을 생성반복문을 돌며 현재 컴퓨터가 네트워크에 연결되어 있지 않다면, 현재 컴퓨터부터 연결된 것들 BFS 탐색최종적으로 네트워크 개수 출력풀이import java.util.LinkedList;import java.util.Queue;class Solution { ..
프로그래머스 164668 조건에 맞는 사용자와 총 거래금액 조회하기 SQL 난이도 Lv. 3풀이일 : 2410163https://school.programmers.co.kr/learn/courses/30/lessons/164668 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제풀이SELECT WRITER_ID, NICKNAME, SUM(PRICE) AS TOTAL_SALESFROM USED_GOODS_BOARD bLEFT JOIN USED_GOODS_USER u ON b.WRITER_ID = u.USER_IDWHERE STATUS = "DONE"GROUP BY WRITER_IDHAVING SUM(PRICE) >= 700000ORD..