일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- MSBuild
- LEVEL2
- level3
- 어렵다
- 내휴학생활중의아주큰일
- 대학원
- 프로그래머스
- 휴학
- D3
- level4
- java
- 안드로이드스튜디오
- SWEA
- 대학원일기
- androidstudio
- 컴퓨터비전
- build
- WebOS
- 자바
- 파이썬
- Matrix Factorization
- BFS
- 컨트리뷰톤
- SQL
- 다시풀기
- Python
- Github
- git
- py
- level1
- Today
- Total
목록Algorithm (80)
bit가 눈 앞에서 왔다갔다
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cVPMqH/btryccuLGyr/zgZwxUj9JNmKuAlLa3oU60/img.png)
https://programmers.co.kr/learn/courses/30/lessons/64064?language=python3 코딩테스트 연습 - 불량 사용자 개발팀 내에서 이벤트 개발을 담당하고 있는 "무지"는 최근 진행된 카카오이모티콘 이벤트에 비정상적인 방법으로 당첨을 시도한 응모자들을 발견하였습니다. 이런 응모자들을 따로 모아 불량 programmers.co.kr 1차: 1시간 25분 2차: 30분 3차: 8분 0. 입출력 1. 1-1. 내 로직 1) 길이로 판단, 길이가 동일하면 banned_id에 있는 원소가 user_id 각각을 가리킬 수 있는지 확인 2) 조합으로 계산해 줄 수 있게 list에 넣어준다. 1-2. 내 코드 def solution(user_id, banned_id): a..
https://programmers.co.kr/learn/courses/30/lessons/42577?language=java 코딩테스트 연습 - 전화번호 목록 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조 programmers.co.kr package Programmers; import java.util.Arrays; import java.util.HashMap; import java.util.Map; public class j42577 { public static void main(String[] args){ String[] phone_book = {"119", "..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/sAEPY/btrxmAnOWvc/CxaktMOOIB4nxX2vW48CtK/img.png)
https://programmers.co.kr/learn/courses/30/lessons/67258 코딩테스트 연습 - 보석 쇼핑 ["DIA", "RUBY", "RUBY", "DIA", "DIA", "EMERALD", "SAPPHIRE", "DIA"] [3, 7] programmers.co.kr 1차: 1시간 2분 2차: 24분 0. 입출력 1. 내 접근 1) 진열된 보석의 종류를 파악한다.(gem_list) gems 리스트에 범위를 지정하고, 범위만큼 리스트 처음~끝까지 보석 종류가 전부 있는지 확인한다. 없다면 범위를 하나씩 키워줘서 반복 -> 시간초과 뜸 2) gem_list에서 원소를 하나씩 start point로 지정하고 각 start point를 범위의 시작점으로 설정하고 찾아주면 조금 시간..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dO9GKh/btrw43yfj79/6XQCSk17l5kFYFE1xJ0MW0/img.gif)
https://programmers.co.kr/learn/courses/30/lessons/64061 코딩테스트 연습 - 크레인 인형뽑기 게임 [[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4 programmers.co.kr 1차 - 9:15 ~ 10:24 1. 입출력 2. 2-1. 내 접근 1) moves의 원소 하나하나를 인덱스로 취급하고 2차원 리슽트 board에서 각 1차원 리스트마다 인덱스에 인형이 있는지 확인한다. 2) 0이라면, 다음 리스트를 확인한다. 3) 인형이 있었다면, basket에 넣어주고 basket의 원소 크기가 1보다 크다면 상위 2개의 인형을 확인한다. 2-2. 내 코드 1 -> ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dIqFtE/btrwmYRAtJn/D3YOl8lhviszn0uTgqgMi1/img.png)
https://programmers.co.kr/learn/courses/30/lessons/62048 코딩테스트 연습 - 멀쩡한 사각형 가로 길이가 Wcm, 세로 길이가 Hcm인 직사각형 종이가 있습니다. 종이에는 가로, 세로 방향과 평행하게 격자 형태로 선이 그어져 있으며, 모든 격자칸은 1cm x 1cm 크기입니다. 이 종이를 격자 선을 programmers.co.kr 1차시도: 45분 2차시도: 15분 1. 입출력 2. 내 접근 1) 이건 그냥 지나가는 개수 찾는 공식?만 생각하면 쉽게 풀리겠다. 2) 피타고라스 정리를 떠올림 2-1) 사각형 몇 개 그려보며 이런 저런 생각을 시작함. w == h면 w 또는 h 크기만큼 못쓴다는건 너무 당연 최소공약수가 존재할 경우, 비율에 따라 최소로 w,h를 줄..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/lhnmY/btrwagkSLrk/1DMcpGyS0fWvuoZKachOn1/img.png)
https://programmers.co.kr/learn/courses/30/lessons/17676 시작점 구해야함 ② split()해서 각각의 시간, 분, 초를 모두 time이라는 리스트에 저장하고, 3씩 뛰어서 ss.sss를 확인하자 ss.sss - 걸린시간 을 계산해서 시작점을 확인한다. ②-1 만약 걸린시간 > ss.sss라면, 시간 -1, 분 +59, 초+60 을 해서 계산하자 ③ 계산이 완료된 후 start 리스트에 넣는데, 이때 : 를 쓰지 말고 그냥 float 형태의 수로 다 이어 붙여서 append하자 ④ 이후 범위ㅣ 확인 1-1. 고민 2016-09-15 hh:mm:ss.sss 인데, 위의 ②-1번과 같은 상황에 어떻게 처리해줘야할까가 까다로웠다. 이거 고민하면서 시간을 너무 많이 써..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/b6LrLp/btrvLhjOxG4/iwZDRvnujVFy7zdqDvhGak/img.png)
https://programmers.co.kr/learn/courses/30/lessons/64063 코딩테스트 연습 - 호텔 방 배정 programmers.co.kr 1. 내 접근 방번호를 인덱스로 취급해서 계산한다. true/false로 비었는지 아닌지 여부를 판단하고, for문 / index()를 통해 손님이 요구하는 방 번호보다 큰 번호의 방 중 최소를 찾는다. 2. 코드 2.1 효율성통과 못함 def solution(k, room_number): answer = [] visited = [False for _ in range(k+1)] for room in room_number: if visited[room] == False: visited[room] = True answer.append(room..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bQ92Z1/btrvGYcOCOV/fMI2k6Y65heWprZt9P9a50/img.png)
https://programmers.co.kr/learn/courses/30/lessons/67259 코딩테스트 연습 - 경주로 건설 [[0,0,0,0,0,0,0,1],[0,0,0,0,0,0,0,0],[0,0,0,0,0,1,0,0],[0,0,0,0,1,0,0,0],[0,0,0,1,0,0,0,1],[0,0,1,0,0,0,1,0],[0,1,0,0,0,1,0,0],[1,0,0,0,0,0,0,0]] 3800 [[0,0,1,0],[0,0,0,0],[0,1,0,1],[1,0,0,0]] 2100 [[0,0,0,0,0,0],[0,1,1,1,1,0],[0,0,1,0,0,0],[1,0,0,1,0,1],[ programmers.co.kr 1. 내 접근 가능한 모든 경우의 수를 전부 체크해야겠다고 생각했다. 완전 탐색에도 이..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/4n8Vn/btru5rn4HOz/7j9pznWhXCcMW6Qmn2ZEY1/img.png)
[95410] SELECT ANIMAL_TYPE, IFNULL(NAME, "No name") AS NAME, SEX_UPON_INTAKE FROM ANIMAL_INS * IFNULL IFNULL(A, B) : A가 NULL이라면 B를 적용한다 [95043] SELECT I.ANIMAL_ID, I.NAME FROM ANIMAL_INS I INNER JOIN ANIMAL_OUTS O ON I.ANIMAL_ID = O.ANIMAL_ID WHERE O.DATETIME < I.DATETIME ORDER BY I.DATETIME ASC * 틀린 이유 Datetime을 오름차순 정렬해야 하는데 처음에 order by 문을 입력하지 않았다. * Join 1) on 절 내용을 where에 넣을 수 있다. 2) 두 집합의..