programmers/level2 51

[프로그래머스] 큰 수 만들기 (Java)

프로그래머스 level2 [탐욕법(Greedy)] 큰 수 만들기 https://programmers.co.kr/learn/courses/30/lessons/42883?language=java 코딩테스트 연습 - 큰 수 만들기 programmers.co.kr 처음에는 스택을 활용해서 풀었는데, 스택으로 하니 편하긴 했지만 마지막에 문자열로 만드는게 복잡해져서 그냥 char 배열을 사용하는 것으로 수정했다. 방식은 스택을 사용한 방식과 같았다. 11번 12번 테스트케이스에서 런타임에러가 나서 고민을 좀 했는데, 질문하기를 보고 힌트를 얻었다. 입력된 숫자가 모두 같은 숫자인 경우를 생각해야 했다. if(last>=ansArr.length-1) { continue; }//end if 이 코드를 추가하니 통과할..

programmers/level2 2021.08.21

[프로그래머스] 가장 큰 수 (Java)

프로그래머스 level2 [정렬] 가장 큰 수 https://programmers.co.kr/learn/courses/30/lessons/42746?language=java 코딩테스트 연습 - 가장 큰 수 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 programmers.co.kr 주어진 숫자들을 여러번 반복해 이어 붙여서 동일한 길이의 숫자를 만든 뒤 정렬을 하면 가장 큰 수를 만들 수 있다. Java code import java.util.Arrays; import java.util.Comparator..

programmers/level2 2021.08.21

[프로그래머스] 소수 찾기 (Java)

프로그래머스 level2 [완전탐색] 소수 찾기 https://programmers.co.kr/learn/courses/30/lessons/42839?language=java 코딩테스트 연습 - 소수 찾기 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 programmers.co.kr 이 문제를 파이썬으로 풀 때는 정규식을 사용해서 풀었던 것 같은데, 자바로는 정규식 사용이 익숙치 않아서 백트래킹을 사용한 숫자 조합을 하는 방식으로 문제를 풀었다. backtracking 메소드에 필요한 인자가 너무 많아서 변하지 않는 인자는 전역변수로 뺄까 고민을 좀 했는..

programmers/level2 2021.08.21

[프로그래머스] 위장 (Java)

프로그래머스 level2 [해시] 위장 https://programmers.co.kr/learn/courses/30/lessons/42578?language=java 코딩테스트 연습 - 위장 programmers.co.kr 이 문제는 예전에 파이썬으로 풀었던 방법이 기억에 남아있어서 쉽게 풀었다. Java code import java.util.HashMap; import java.util.Iterator; import java.util.Map; class Solution { public int solution(String[][] clothes) { int answer = 1; Map map=new HashMap(); for(int i=0; i

programmers/level2 2021.08.11

[프로그래머스] 조이스틱 (Java)

프로그래머스 level2 [탐욕법(Greedy)] 조이스틱 https://programmers.co.kr/learn/courses/30/lessons/42860?language=java 코딩테스트 연습 - 조이스틱 조이스틱으로 알파벳 이름을 완성하세요. 맨 처음엔 A로만 이루어져 있습니다. ex) 완성해야 하는 이름이 세 글자면 AAA, 네 글자면 AAAA 조이스틱을 각 방향으로 움직이면 아래와 같습니다. ▲ - 다 programmers.co.kr 이 문제는 고려해야하는 요소가 좀 많은 문제다. 예전에 파이썬으로 풀 때 고생을 많이해서 이번에도 고생을 많이 할 줄 알았는데, 풀이법을 알고 풀다보니 생각만큼 오래 걸리진 않았다. 고려해야 할 게 많다보니 코드가 많이 길어진게 마음이 쓰이지만, 더 간결하게 ..

programmers/level2 2021.08.11