목록코테 (28)
슈뢰딩거의 고등어
https://school.programmers.co.kr/learn/courses/30/lessons/118666 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [풀이방법] 1. 문제를 하나씩 확인한다. (ex. 문제의 형식 : AB) 2. 점수를 준다. 2-1. 답변이 3 이상일 경우, A에 점수를 준다. 답변 환산 점수 1 3 2 2 3 1 환산 점수 = 4- 답변 이라는 식을 도출 할 수 있다. 2-2. 그 외의 경우, B에 점수를 준다. 답변 환산 점수 4 0 5 1 6 2 7 3 환산 점수 = 답변 - 4 이라는 식을 도출 할 수 있다. 3. ..
https://programmers.co.kr/learn/courses/30/lessons/43164 코딩테스트 연습 - 여행경로 [["ICN", "SFO"], ["ICN", "ATL"], ["SFO", "ATL"], ["ATL", "ICN"], ["ATL","SFO"]] ["ICN", "ATL", "ICN", "SFO", "ATL", "SFO"] programmers.co.kr [풀이방법] c++/ python 둘다 같은 로직으로 풀었습니다. 1. 주어진 tickets 을 알파벳 순으로 정렬한다. 2. 첫 시작공항인 ICN을 start 로 설정한 후 dfs 탐색을 시작한다. 3. start를 첫번째 인자로 하는 티켓을 탐색한다. 4. 해당 티켓의 두번째인자는 목적지이므로 두번째 인자를 start 로 설..
https://programmers.co.kr/learn/courses/30/lessons/87390 코딩테스트 연습 - n^2 배열 자르기 정수 n, left, right가 주어집니다. 다음 과정을 거쳐서 1차원 배열을 만들고자 합니다. n행 n열 크기의 비어있는 2차원 배열을 만듭니다. i = 1, 2, 3, ..., n에 대해서, 다음 과정을 반복합니다. 1행 1열부 programmers.co.kr [풀이방법] 위의 애니메이션을 보면 1행, 2행, ... n행을 붙여 1차원 배열을 만들게 되면 1, 2, ... n | 2, 2,... n | 3, 3, 3, ... n |n, n, n, ... n, n, n| 이런식으로 배열이 생기게 되는데 x행의 경우, x를 x번 반복한 후(x, x, ..., x)..
https://programmers.co.kr/learn/courses/30/lessons/42898 코딩테스트 연습 - 등굣길 계속되는 폭우로 일부 지역이 물에 잠겼습니다. 물에 잠기지 않은 지역을 통해 학교를 가려고 합니다. 집에서 학교까지 가는 길은 m x n 크기의 격자모양으로 나타낼 수 있습니다. 아래 그림은 m = programmers.co.kr [풀이방법] 이 문제는 n, m 이 y, x 이다. 위치가 바뀌어져있어서 헷갈릴 수 삽질을 할 수가 있다. 최단 거리가 조건인데 이동가능한 방향이 오른쪽/아래쪽 두가지 방향으로밖에 이동할 수 없기 때문에 항상 x, y 에 있을 때 최단거리로만 이동할 수 밖에 없다. 따라서, 그냥 n, m 으로 이동 가능한 모든 경우의 갯수를 구하면 된다. dp 식은 ..
https://programmers.co.kr/learn/courses/30/lessons/77486 코딩테스트 연습 - 다단계 칫솔 판매 민호는 다단계 조직을 이용하여 칫솔을 판매하고 있습니다. 판매원이 칫솔을 판매하면 그 이익이 피라미드 조직을 타고 조금씩 분배되는 형태의 판매망입니다. 어느정도 판매가 이루어진 후, programmers.co.kr ...중략 문제가 긴것에 비해 쉽게 풀이가 가능한 문제이다. 단순하게 위에 부모노드가 있으면 10%을 주면 된다. 그리고 그 부모노드로 이동해서 계속 반복하면 된다. 그렇게 하기 위해서는 부모노드와 구한 값을 저장할 수 있는 방법이 있어야 한다! [풀이방법] 1. 현재노드의 부모를 저장한다. 2. seller 들의 판매내역인 amount*100 을 기반으로..
https://programmers.co.kr/learn/courses/30/lessons/42895 코딩테스트 연습 - N으로 표현 programmers.co.kr 처음에 보고 익숙하긴 했는데, 이런 문제는 DFS 로 풀었던지라 왜 DP 로 풀란건지 싶었다. 얼추 숫자 횟수를 기준으로 잡으면 되겠다라고 생각했다. 1. DP 에 N 사용횟수를 인덱스로 잡고 2. 만들 수 있는 숫자들을 집어 넣는다. - x개를 사용해서 만들수 잇는 수를 구하는 방법은 1) NNNN....NN : x번 그냥 숫자만 이용 2) k는 1~k-1 까지 - dp[x-k] + dp[k] - dp[x-k] * dp[k] - dp[x-k] - dp[k] - dp[x-k] / dp[k] - 주의해야 할점은 나누기 할때 수를 0 으로 나누..
https://programmers.co.kr/learn/courses/30/lessons/1837 코딩테스트 연습 - GPS edge_list [[1, 2], [1, 3], [2, 3], [2, 4], [3, 4], [3, 5], [4, 6], [5, 6], [5, 7], [6, 7]] programmers.co.kr [풀이방법] DP 로 풀어보자 DP[i][j] -> i 시간에 j 로 가려면, 얼마나 수정되어야 하는지 최소의 수 DP[마지막시간][마지막점] 을 answer 로 리턴해주면 된다. 1. gps_log 를 기반으로 dp 를 초기화 해준다. INF 로 다들 초기화해주고, DP[0][시작점] = 0; // 0시간에 시작점 변경은 안해도 되니까 고정이니까 2. i 시간에 j 위치에 올 수 있는 ..
https://programmers.co.kr/learn/courses/30/lessons/81301?language=cpp 코딩테스트 연습 - 숫자 문자열과 영단어 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자 programmers.co.kr [c++ 풀이] #include #include #include using namespace std; string word[10] = {"zero", "one", "two", "three", "four", "five","six", "seven", "eight", "nine"}; int solution(string s) { int..