목록카카오 (49)
N
https://school.programmers.co.kr/learn/courses/30/lessons/150369 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr greedy 알고리즘으로 접근. 택배 배달과 수거를 앞에서가 아닌 뒤에서부터 진행을 하면 된다. deveriesIndex와 pickupsIndex를 선언하여 n - 1로 저장하고, 이 두 변수를 이용해서 더 큰 값이 사실상 출발 위치가 된다. while문을 이용해 두 인덱스가 모든 배열을 순회한 -1 값이 될 때까지 반복한다. (뒤에서부터 순회했기 때문에 n - 1 ~ 0 으로 간다.) deli..
https://school.programmers.co.kr/learn/courses/30/lessons/150368 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr DFS를 이용한 문제 풀이. 우선 answer에 -Infinity 2개를 넣어주어서 최대값 갱신을 할 수 있도록 한다. 이모티콘 할인율은 10, 20, 30, 40 4개가 있으므로 discounts 배열에 저장. users와 emoticons의 길이를 나타내는 변수 usersLength, emoticonsLength. 각 유저가 이모티콘을 구매했을 때의 비용을 나타내는 userCost를 선언한다..
https://school.programmers.co.kr/learn/courses/30/lessons/92345?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr DFS를 이용해 시뮬레이션을 풀었다. dfs에 전달하는 것은 현재 플레이어의 x, y 좌표, 다음 플레이어의 x, y 좌표다. 우선 return할 변수 result를 선언하여 [false, 0]으로 저장한다. result는 [진행 여부, 움직인 횟수]를 뜻한다. 우선 인자로 받아온 좌표(ax, ay)가 상하좌우로 움직일 수 있는지 판단한다. 만약 4방향 모두 움..
https://school.programmers.co.kr/learn/courses/30/lessons/118667 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 큐 자료구조를 만들어서 사용하여 시간초과가 나지 않도록 한다. sum1 = queue1의 원소의 합 sum2 = queue2의 원소의 합 우선 두 큐를 직접 정의한 큐에 넣으면서, 각 큐의 총합을 구한다. 두 합이 짝수가 아니라면 -1 리턴, 만약 두 합이 같다면 0을 리턴한다. 이후는 while문을 이용해 두 큐의 합이 같아질 때까지 반복한다. 만약 현재까지의 연산 횟수 answer가 두 큐의..
https://school.programmers.co.kr/learn/courses/30/lessons/118666?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 주어진 조건대로 맵핑을 진행하면 쉽게 풀 수 있다. 성격 유형의 각 지표는 사전순으로 주어졌기 때문에 그대로 array에 저장. 성격의 점수를 저장하기 위한 map도 선언한다. survey를 순회하면서 점수를 구한다. front와 back으로 문자열을 두 개의 문자로 나눈다. 또한, choice[i]의 점수로 어느 성격 지표에 점수를 더할지 정한다. 만약 4..
https://programmers.co.kr/learn/courses/30/lessons/42892?language=javascript 코딩테스트 연습 - 길 찾기 게임 [[5,3],[11,5],[13,3],[3,5],[6,1],[1,3],[8,6],[7,2],[2,2]] [[7,4,6,9,1,8,5,2,3],[9,6,5,8,1,4,3,2,7]] programmers.co.kr 이진 트리를 구성해 전위 순회와 후위순회를 한 결과를 리턴하는 문제. Node 라는 클래스를 정의하여 x, y, num, left, right를 가질 수 있도록 하였다. 이를 이용해 주어진 nodeinfo를 순회하여 노드를 만들어준다. node 라는 배열에 Node 클래스를 가진 node가 있으며, x와 y 좌표를 주어진 조건에..
https://programmers.co.kr/learn/courses/30/lessons/92334?language=cpp 코딩테스트 연습 - 신고 결과 받기 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 programmers.co.kr map을 이용한 문제 풀이. 3개의 map을 선언하였다. reported는 로 유저가 신고를 받은 횟수를 카운팅한다. done은 로 한 유저가 동일한 유저에 대해 신고를 여러번 했는지 확인하기 위한 map이다. target은 = k 이상이면 count++을 해주고, 내부 for문이 끝나면 answer.push_back(count)를..
https://programmers.co.kr/learn/courses/30/lessons/81303?language=cpp 코딩테스트 연습 - 표 편집 8 2 ["D 2","C","U 3","C","D 4","C","U 2","Z","Z"] "OOOOXOOO" 8 2 ["D 2","C","U 3","C","D 4","C","U 2","Z","Z","U 1","C"] "OOXOXOOO" programmers.co.kr 링크드 리스트 형태의 구조체를 선언하여 풀이. Node 구조체를 선언하고 내부에는 val, prev, next를 가지도록 한다. 초기값은 모두 -1을 가지며, for문을 통해 값을 모두 갱신한다. Node 구조체 배열을 node라는 이름으로 n개의 크기만큼 선언하고, Node 구조체를 저장..