https://school.programmers.co.kr/learn/courses/30/lessons/159993 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr from collections import deque def bfs(start, end, maps): answer = 0 dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1] row, col = len(maps), len(maps[0]) check = [[0] * col for _ in range(..
https://school.programmers.co.kr/learn/courses/30/lessons/340212 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이- 이진탐색 def solution(diffs, times, limit): def calc(level): time = 0 for j in range(len(diffs)): if diffs[j] limit: return False if limit >= time: ..
https://school.programmers.co.kr/learn/courses/30/lessons/340213 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이초 단위로 시간 변환 후 prev, next 처리 def to_sec(time): tmp = time.split(":") return int(tmp[0]) * 60 + int(tmp[1])def solution(video_len, pos, op_start, op_end, commands): answer = '' video_len = to_sec(video_le..
HashMap의 함수 put(key, value) : key와 value를 해시맵에 추가한다. getValue(key) : 입력받은 key의 value를 반환한다. keys() : 해시맵의 모든 key를 반환한다. remove(key) : 입력받은 key와 key에 해당하는 value를 삭제한다. replace(key, value) : 입력받은 key의 value를 입력받은 value로 변경한다. size() : 해시맵의 value의 갯수를 반환한다. isEmpty() : 해시맵의 데이터가 0인지 확인한다. clear() : HashMap의 모든 데이터를 삭제한다. contains() : 입력받은 key가 HashMap에 있는지 확인한다. Map vs HashMap vs HashTableMap vs Tr..
https://programmers.co.kr/learn/courses/30/lessons/17679 코딩테스트 연습 - [1차] 프렌즈4블록 프렌즈4블록 블라인드 공채를 통과한 신입 사원 라이언은 신규 게임 개발 업무를 맡게 되었다. 이번에 출시할 게임 제목은 "프렌즈4블록". 같은 모양의 카카오프렌즈 블록이 2×2 형태로 4개가 붙 programmers.co.kr 풀이 1. 지워야하는 블록 검사 - check() 함수로 블록이 2x2 형태로 붙어있는지 확인한다. 2. 블록 지우기 - popList에 지워질 칸의 행과 열을 저장한다. -> set을 사용하기 위해 튜플 형태로 저장 - set을 사용해 겹치는 부분을 한번만 처리한다. - 지운 칸은 '-'로 표시한다. 3. 블록 내리기 - popList를..
https://programmers.co.kr/learn/courses/30/lessons/12952 코딩테스트 연습 - N-Queen 가로, 세로 길이가 n인 정사각형으로된 체스판이 있습니다. 체스판 위의 n개의 퀸이 서로를 공격할 수 없도록 배치하고 싶습니다. 예를 들어서 n이 4인경우 다음과 같이 퀸을 배치하면 n개의 퀸은 programmers.co.kr 풀이 1. queen 배열 - ex) queen[1] = 2 -> 1행 2열에 퀸 배치 2. check 함수 - 퀸이 놓일 수 있는지 행, 열, 대각선 확인 - abs(x-i) == abs(queen[x] - queen[i]) : 대각선 방향 확인 - ex) [2, 3]의 대각선 방향 = [1, 2], [0, 1], [1, 4] / [2, 2]의 ..
https://programmers.co.kr/learn/courses/30/lessons/42890 코딩테스트 연습 - 후보키 [["100","ryan","music","2"],["200","apeach","math","2"],["300","tube","computer","3"],["400","con","computer","4"],["500","muzi","music","3"],["600","apeach","music","2"]] 2 programmers.co.kr 풀이 모든 속성 인덱스의 조합을 구하고 그 조합에 해당하는 속성의 값들을 모아 유일성을 확인한다. 그 조합이 유일성을 만족하는 키들 중에 부분집합으로 포함되는지 체크해서 최소성을 확인한다. import itertools def solutio..
https://programmers.co.kr/learn/courses/30/lessons/77487 코딩테스트 연습 - 헤비 유저가 소유한 장소 PLACES 테이블은 공간 임대 서비스에 등록된 공간의 정보를 담은 테이블입니다. PLACES 테이블의 구조는 다음과 같으며 ID, NAME, HOST_ID는 각각 공간의 아이디, 이름, 공간을 소유한 유저의 아이디를 programmers.co.kr SELECT ID, NAME, HOST_ID FROM PLACES WHERE HOST_ID IN ( SELECT HOST_ID FROM PLACES GROUP BY HOST_ID HAVING COUNT(HOST_ID) >= 2 )