https://school.programmers.co.kr/learn/courses/30/lessons/84021 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 프로그래머스 코딩테스트 고득점 Kit의 DFS/BFS 문제다. 코드도 길고 구현이 빡셌지만 아이디어를 생각해내기까지 어렵지는 않았다. for (int i=0;i
https://school.programmers.co.kr/learn/courses/30/lessons/77486 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr seller/amount의 최대 길이는 100,000이기 때문에 판매한 금액마다 부모의 끝까지 올라간다면 시간 측면에서 비효율적이라고 생각했다. 그래서 판매한 금액들을 ArrayList에 저장하고, 리프 노드의 금액 */ 10을 자신의 한 단계 부모에게만 전달하는 방식으로 구현해봤다. 그리고 리프 노드에서 처리가 끝나면 그 노드와 부모의 연결을 끊어주면, 또 다른 리프노드가 생겨나고, 모든 노드가..
https://school.programmers.co.kr/learn/courses/30/lessons/131129 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 브루트포스 -> 시간 초과 그리디 -> target이 50이 넘어도, 불을 맞추지 않는 것이 정답인 경우가 존재함. 여러 시도 끝에 .... dp를 사용해서 문제를 풀었다! dp = new int[target + 1][2]; // 0: 다트 수 1: 싱글/불 횟수 for(int i=1;i= 50) { // 불 맞추기 int[] temp = throwDart(n - 50); if((temp[0] ..
https://school.programmers.co.kr/learn/courses/30/lessons/136797 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr dp와 BFS를 이용해 풀었다. 처음엔 숫자를 하나씩 DFS로 탐색하고, 현재 손가락 위치에서 왼쪽, 오른쪽을 사용해 해당 depth의 숫자로 갈 수 있는 최소 시간을 BFS로 풀었었다. numbers의 길이가 100000이라 시간 초과가 났었고, 왼쪽 손가락과 오른쪽 손가락 중 더 가까이에 있는 손가락으로 숫자를 누르는 그리디 방식으로 풀었는데 몇몇 테케를 틀렸었다. 그래서 먼저 1~10에서 ..
https://school.programmers.co.kr/learn/courses/30/lessons/12904 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 프로그래머스 코딩테스트 연습 Level 3 문제다. 주의할 점 - StringBuilder의 reverse와 String의 substring은 피하자. (substring은 O(n)) - 팰린드롬의 길이가 무조건 홀수는 아니다. abba 처럼 짝수인 경우도 존재한다. (테케 12번) 위 사항을 간과한 채 문제를 풀었더니 4, 6, 7, 12, 효율성1 테케가 틀렸었다. substring 대신 인덱..
https://school.programmers.co.kr/learn/courses/30/lessons/1829 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2017 카카오코드 예선 Level 2 문제다. DFS나 BFS로 쉽게 풀 수 있는 문제다. 문제에 오류가 있는지 static 변수인 cnt와 max를 solution안에 초기화를 했을 때 정답처리 되었다. solution 함수 밖에서도 m, n, picture를 사용하기 위해 static으로 int M, N, int[][] pictures를 선언하고 대입해주었다. 그리고 picture의 원소 하나..
https://school.programmers.co.kr/learn/courses/30/lessons/17683 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2018 KAKAO BLIND RECRUITMENT Level 2 문제다. Level 2지만 생각보다 오래 걸린 문제다. 접근하기는 쉬운데 테케 몇개 틀리다고 뜨면 반례를 생각해내기가 어려운 것 같다. static String[][] alpha = {{"A#", "a"}, {"G#", "g"}, {"F#", "f"}, {"D#", "d"}, {"C#", "c"}}; // # 들어가는 음을 다른 알..
https://school.programmers.co.kr/learn/courses/30/lessons/42892 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2019 KAKAO BLIND RECRUITMENT Level 3 문제다. for(int i=0;i o1.y == o2.y ? o1.x - o2.x : o2.y - o1.y); 먼저 nodeinfo에 있는 노드들을 Node의 객체로 생성해 ArrayList nodes에 넣어준다. Node들이 담긴 nodes를 y가 큰 순서대로, y가 같다면 x가 작은 순서대로 정렬한다. 레벨이 높은 순서대로 정렬..