목록알고리즘 (129)
이숭간 공부기록
https://programmers.co.kr/learn/courses/30/lessons/12985 코딩테스트 연습 - 예상 대진표 △△ 게임대회가 개최되었습니다. 이 대회는 N명이 참가하고, 토너먼트 형식으로 진행됩니다. N명의 참가자는 각각 1부터 N번을 차례대로 배정받습니다. 그리고, 1번↔2번, 3번↔4번, ... , N-1번↔N programmers.co.kr 문제유형 : 분할정복? 문제풀이 : 내가 속해있는 팀을 구한다. 걔와 나는 언제 만나는가? --> 서로 같은 팀이 될때 만난다. 두 사람이 같은 팀에 속해질때 까지 팀구하기를 반복한다. 정답코드: def solution(n,a,b): answer = 0 x = min(a,b) y = max(a,b) while True: answer +=..
https://programmers.co.kr/learn/courses/30/lessons/42885# 코딩테스트 연습 - 구명보트 무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다. 예를 들어, 사람들의 몸무게가 [70kg, 50kg, 80kg, 5 programmers.co.kr 문제유형 : 그리디, 투포인터 문제풀이 : 가능한 최대한 많이 담아서 보내야하므로 그리디 나는 큐를 이용해서 풀었다. ( 투포인터 느낌 ) 내림차순 정렬한 큐에서 왼쪽, 즉 가장 큰값부터 (popleft) 보트에 태우고, 더이상 큰값을 태울수 없을때 큐의 오른쪽, 즉 가장 작은값부터(pop) 보트에 태워서 한번 보낼때 가장큰애들과 가..
https://programmers.co.kr/learn/courses/30/lessons/17679 코딩테스트 연습 - [1차] 프렌즈4블록 프렌즈4블록 블라인드 공채를 통과한 신입 사원 라이언은 신규 게임 개발 업무를 맡게 되었다. 이번에 출시할 게임 제목은 "프렌즈4블록". 같은 모양의 카카오프렌즈 블록이 2×2 형태로 4개가 붙 programmers.co.kr 문제유형 : 그래프(행렬다루기), 구현, 완전탐색 문제풀이 : 그래프에서 특정위치를 다루고 이런문제가 카카오에서 많이 나오는거같음 주어진 보드위에서 정사각형을 움직여가며 모두같아 없어지는경우 집합에 인덱스를 저장한다. 겹치는 구간이 있을수 있으므로 전체를 모두 확인하고 지워야하는 인덱스를 중복없이 저장하기위해 집합을 이용한다. 한 라운드에..
https://programmers.co.kr/learn/courses/30/lessons/12981 코딩테스트 연습 - 영어 끝말잇기 3 ["tank", "kick", "know", "wheel", "land", "dream", "mother", "robot", "tank"] [3,3] 5 ["hello", "observe", "effect", "take", "either", "recognize", "encourage", "ensure", "establish", "hang", "gather", "refer", "reference", "estimate", "executive"] [0,0] programmers.co.kr 문제유형 : 문자열 문제풀이: 주어진 조건을 잘 맞게 구현해야한다. 문제에서 말로 설..
https://programmers.co.kr/learn/courses/30/lessons/42895 코딩테스트 연습 - N으로 표현 programmers.co.kr 문제유형 : DP 문제풀이 : 숫자X를 n번 사용해서 만들수있는 숫자 숫자 X를 n번 이어붙여서 만든 숫자 숫자 X를 i번 사용해서 만들수있는 숫자와 숫자 X를 n-i번 사용해서 만들수 있는 숫자의 사칙연산의 결과 (1
https://programmers.co.kr/learn/courses/30/lessons/42628 코딩테스트 연습 - 이중우선순위큐 programmers.co.kr 문제유형 : 우선순위큐, 힙 문제풀이 : 이전에 백준에서 풀었던 문제랑 똑같아서 2개의 큐를 어떻게 동기화하는지에 대한 방법을 금방 기억할 수 있었다. (인덱스 이용!) 근데 테스트케이스 한개가 자꾸 틀려서 봤더니 마지막에도 한번더 확인해줘야한다는것을 생각하지 못했다. 1삽입,2삽입,3삽입,4삽입, 최대삭제, 최대삭제, 최소삭제, 최소삭제, 5삽입, 6삽입의 테스트케이스가 그렇다. 만약 마지막에 한번더 처리를 해주지않으면 이때 최소힙에는 [3,4,5,6]이, 최대힙에는 [1,2,5,6] 이 존재하게되므로 여기서 정답을 출력하면 답[6,5]..