[프로그래머스 알고리즘 고득점 Kit][정렬][Java] 가장 큰 수
·
알고리즘 & 자료구조/문제 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/42746 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 2개의 문자열을 사전순 역으로 하면아래처럼 쉽게 할 수 있다. 길이가 달라도 2개를 이어 붙여서 판단하면 간단하게 할 수 있다.그렇게 정렬하면 맨앞에 0이 오는 경우를 제외하고는 이어 붙여서 반환하면된다. import java.util.*;class Solution { public String solution(int[] numbers) { String[] numStr = new String[numbers.length]; f..
[프로그래머스 알고리즘 고득점 Kit][깊이/너비 우선 탐색(DFS/BFS)][Java] 아이템 줍기
·
알고리즘 & 자료구조/문제 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/87694 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 초기에 메서드도 분리하고 깔끔하게 쓰려고 분리할 거 다하다가복잡해지고... 디버깅도 쉽지 않았다.1. 복잡한 코드일단 메인 아이디어는 주어진 사각형의 테두리를 남겨두고 bfs로 탐색하면서 거리를 업데이트 해주는 것이다.주의했어야하는 부분은 expandedCordinate 메서드 위 주석에 나온 것처럼11111111 이렇게 주어진 사각형 내부 공백이 없어서 테두리만 남길 수 없었기에스케일을 키우는 작업을 했어야했습니다.import java.util.*;c..
[프로그래머스 알고리즘 고득점 Kit][깊이/너비 우선 탐색(DFS/BFS)][Java] 여행경로
·
알고리즘 & 자료구조/문제 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/43164 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr백트래킹으로 접근했습니다.티켓으로 도착한 곳의 출발지가 같은 티켓을 사전순으로 접근하면서가장 먼저 n개의 티켓을 사용한 경로를 반환.알파벳 순이 먼저인 경로를 반환하라고 명시되어 있기 때문에알파벳순으로 정렬 후에 백트랙킹으로 경로를 찾습니다.import java.util.*;class Solution { String[][] sortedTickets; boolean[] used; String[] answer; int n; ..
[LeetCode][Java][영어공부] 1071. Greatest Common Divisor of Strings
·
알고리즘 & 자료구조/문제 풀이
https://leetcode.com/problems/greatest-common-divisor-of-strings/description/?envType=study-plan-v2&envId=leetcode-75 Greatest Common Divisor of Strings - LeetCodeCan you solve this real interview question? Greatest Common Divisor of Strings - For two strings s and t, we say "t divides s" if and only if s = t + t + t + ... + t + t (i.e., t is concatenated with itself one or more times). Given tw..
[프로그래머스 알고리즘 고득점 Kit][스택/큐][Java] 기능 개발
·
알고리즘 & 자료구조/문제 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/42586?language=java 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 1. 각 기능의 남은 배포 기간을 구한다. (= 배포되는 날짜)2. 처음 배포되는 날짜를 기준으로 다음 기능이 더 작다면 같이 배포(cnt++)3. 다음 기능이 더 크다면 같이 배포 못하니까 기준을 더 큰 기능 날짜로 바꿔주고 현재까지 카운트된 기능 배포(answer.add(cnt))4. 반복주의) 항상 기준과 다음을 비교해서 기준 시점에 배포하기 때문에 기준이 마지막인 것은 따로 배표해줘야함import java.util.*;c..
[프로그래머스 알고리즘 고득점 Kit][깊이/너비 우선 탐색(DFS/BFS)][Java] 단어 변환
·
알고리즘 & 자료구조/문제 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/43163?language=java 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr1. target이 단어 집합에 있나 확인 -> 없어서 틀렸었음2. 하나가 다르면 바꿀 수 있다를 갈 수 있다고 생각하면 Node끼리의 최단 거리로 생각할 수 있다.3. bfs에 begin을 넣고 단어 집합에 하나만 다른 단어를 q에 넣고 count를 늘려서 레벨별로 나아간다.3.1) Node 클래스를 만들어서 count를 같이 보내주면서 노드 하나씩 보는 방법도 있지만 여기서는 같은 레벨에 있는 단어들을 하나씩 확인하고 다음으..