반응형

분류 전체보기

    [Programmers][Javascript] 가장 큰 수

    문제 [Programmers][Javascript] 가장 큰 수 문제 설명 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내는 문제 나는 처음에 sort하는 것을 값들을 10으로 나눈 나머지 값들로 하려고 했다. 근데 그러면 예제 테스트는 통과하지만 전체 예제는 통과하지 못한다. 테스트 케이스를 잘 생각하지 못하겠어서 다른 블로그를 참고했다. 그래서 나온 방법이 앞뒤의 수를 문자열로 더해 수를 비교하는 것이다. 30과 3을 문자열로 더하면 303과 330이 나오게 된다. 이 두 수를 비교해 큰 수대로 정렬한다는 것이다. 자바스크립트에서 숫자에서 문자로 바꾸는 형변환이 숫자 + ''로도 할 수 있어서 map을 이용해 바꿔줄 수 있다. 그리고 마지막으로 ..

    [Programmers][Javascript] K번째수

    문제 [Programmers][Javascript] K번째수 문제 설명 배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하는 문제 commands 배열에 조건이 다 들어있다. commands 배열 하나마다 slice 시작, 끝, 정렬 후 인덱스 위치까지 제공되어 있다. 단, 문제에서 말하는 인덱스와 배열에서 쓰이는 인덱스가 다르니 주의해야 한다. 나는 최대한 고차함수로 풀어보려고 했다. 근데 역시 forEach 말고 map으로도 충분히 가능했다. 성공 코드 1번은 내 풀이이고, 2번은 다른사람 풀이이다. 성공 코드 function solution(array, commands) { var answer = []; commands.forEach(element => ..

    2020년 2주차(1월 2주차) 회고

    2020년 2주차(1월 2주차) 회고

    회고라고 하면 너무 거창하고 그냥 느낀점 배울점들을 간단히 적어보려고 한다. (사실 자려다 잠이 안와서 쓰는거라 폰으로 쓰는 중이다) 마크다운에 미친사람이라 내일 마크다운으로 고칠거임 1. 코드스쿼드에 다닌지도 2주차가 되었다. - 1주차엔 사실 너무 심적 여유가 없어서 어떻게 지나갔는지도 모르게 지나갔다. - 이번주 화/수를 중심으로 마음에 여유가 좀 생기고 뭘 배워간다는 느낌으로 하니 훨씬 더 재미있다. 2. 다행히 1주 4커밋 이상 규칙을 아직까진 지키고 있다. 레포에 연결된 디렉토리들은 많은데 관리하기가 쉽지않다. 올릴 내용이 있는데도 push도 바로바로 안하고 한번에 하는 경향이 좀 있다. 하루 마무리로 푸시하는 습관을 의식적으로 해야겠다. 1일 1커밋을 도와주는 툴이 있다는데 맥에만 깔려서 조..

    [BOJ][Java] 2579번 - 계단 오르기

    문제 백준 2579번 문제: 계단 오르기 문제 설명 i번째 계단에 오를 때, 몇 개의 연속한 계단을 올랐는지를 고려하여 부분문제를 정의해봅시다. 성공 코드 import java.util.Scanner; import java.util.stream.IntStream; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int score[] = new int[n+1]; int accu_score[] = new int[n+1]; IntStream.range(1, n+1).forEach(x -> { score[x] = sc.nextInt(); }); s..

    [BOJ][Java] 1931번 - 회의실배정

    문제 백준 1931번 문제: 회의실배정 문제 설명 가능한 한 많은 구간을 선택하는 문제 일단 그리디 알고리즘은 정해진 기준에서 현재의 가장 최상의 값을 찾아나가는 알고리즘이다. 그럼 회의실배정 문제에서 최상의 값을 찾을 수 있는 기준은 어떻게 잡을 수 있을까? 회의가 끝나는 시간을 최대한 작은 수부터 골라야 한다. 회의 끝나는 시간이 같다면 회의 시작 시간이 작은 수부터 골라야 한다. 성공 코드 import java.util.Arrays; import java.util.Comparator; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in..

    [BOJ][Java] 11047번 - 동전0

    문제 백준 11047번 문제: 동전0 문제 설명 동전의 조건이 특별해서 동적 프로그래밍보다 빠르게 답을 찾을 수 있는 문제 동전의 최소 개수를 찾기 위해서는 큰 수부터 교환될 수 있는지 찾아야 한다. 그래서 입력을 받을 때 n-1번째 인덱스부터 저장시킬 수 있도록 했다. 그래서 50000부터 1까지 루프될 수 있도록 했다. 성공 코드 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int k = sc.nextInt(); int coins[] = new int[n]; for (int i = n-1..