[프로그래머스 알고리즘 고득점 Kit][동적계획법(Dynamic Programming)][Java] 사칙연산
·
알고리즘 & 자료구조/문제 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/1843 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 1. 틀린코드작은 영역부터 잘라서 왼쪽의 최대 최소, 오른쪽 최대 최소를 이용해 특정 영역의 최댓값을 구한다.간격이 가장 작은 2부터 0~0 최대 최소 0~2 최대 최소 2~4 ...를 찾아가고간격이 커지면서 0~4 4~8 .. 이렇게 범위를 늘려간다.그렇게 되면 N^3의 시간복잡도가 나오는데 시간초과가 떴다.복잡도를 줄이는 건 도저히 모르겠어서 의심되는 곳을 바꿔보기로 했다.class Solution { public int solution(St..
[프로그래머스 알고리즘 고득점 Kit][그리디][Java] 체육복
·
알고리즘 & 자료구조/문제 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/42862 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr지금 나는 2벌을 가지고 있고내 왼쪽이나 오른쪽에 한벌도 없다면 빌려준다.모든 사람에 대해서 체육복을 왼쪽 기준을 먼저 다 체크해준다.모든 사람을 왼쪽부터 왼쪽 친구 먼저 기준으로 둔 이유는 0 2 0 2 이렇게 있다면 0 1 1 2 이런 상황이 일어날 수 있기때문에 왼쪽 사람부터 왼쪽 친구에게 먼저인 방향을 정하고 진행했다.반대로 오른쪽 사람부터 오른쪽 친구에게 먼저인 방향으로 풀어도 된다.양 끝점 배열의 인덱스를 넘어가지 않게 하기위해 분리했더니 좀..
[프로그래머스 알고리즘 고득점 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..