일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
29 | 30 | 31 |
- 다익스트라
- 이분탐색
- 크루스칼
- 브루트포스
- 2020 카카오 인턴십
- 투포인터
- GIT
- 2018 KAKAO BLIND RECRUITMENT
- SWEA
- 최소 신장 트리
- 비트마스킹
- 2021 KAKAO BLIND RECRUITMENT
- 우선순위큐
- 스택
- 2019 KAKAO BLIND RECRUITMENT
- 투 포인터
- 파이썬
- BFS
- Spring
- 조합
- 백트래킹
- 플로이드 와샬
- 플로이드와샬
- 백준
- 프로그래머스
- 구현
- 시뮬레이션
- 로봇 청소기
- 2020 KAKAO BLIND RECRUITMENT
- 트라이
- Today
- Total
목sssssss록구현 (34)
개발조아
문제 링크 : https://www.acmicpc.net/problem/20207 20207번: 달력 수현이는 일년의 날짜가 1일부터 365일로 표시되어있는 달력을 가지고있다. 수현이는 너무나도 계획적인 사람이라 올 해 일정을 모두 계획해서 달력에 표시해놨다. 여름이 거의 끝나가자 장 www.acmicpc.net 나는 누적합을 활용하였다. 달력의 시작일자에 +1 종료일자+1 에 -1을 해주었다. 해당 일자의 누적합이 사각형의 높이가 될 것이다. 그리고 1~366까지 누적합을 확인하면서 가로,세로 크기의 최대값을 갱신했다. 더보기 누적합 간단히 설명하면 아래와 같다. 입력이 7 2 4 4 5 5 6 5 7 7 9 11 12 12 12 라고 해보자. 시작일에 +1 종료일+1에 -1을 해준다 했다. 그럼 배열..
문제 링크 : https://www.acmicpc.net/problem/15787 15787번: 기차가 어둠을 헤치고 은하수를 입력의 첫째 줄에 기차의 수 N(1 ≤ N ≤ 100000)과 명령의 수 M(1 ≤ M ≤ 100000)가 주어진다. 이후 두 번째 줄부터 M+1번째 줄까지 각 줄에 명령이 주어진다. www.acmicpc.net 비트 연산, 비트마스킹 문제이다. 명령 1은 해당 자리 비트를 1로 변경한다 명령 2는 해당 자리 비트를 0으로 변경한다 명령 3은 왼쪽 쉬프트 연산이다 명령 4는 오른쪽 쉬프트 연산이다. 주의 할점이 있다. 1. 쉬프트 연산 방향 - 비트는 오른쪽에서 왼쪽으로 순서이므로 방향에 주의하자. 2. 왼쪽 쉬프트 연산 좌석은 최대 20개 이다. 만약 20번째 좌석에 승객이 앉..
문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/17678 코딩테스트 연습 - [1차] 셔틀버스 10 60 45 ["23:59","23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59"] "18:00" programmers.co.kr 시간 관련 구현문제이긴하나 시간은 간단했다. 일단 timetable의 시간을 분으로 바꾼 후 정렬하자. 9시에서 부터 시작하여 t 시간만큼 도착시간을 증가시키고 총 n번 수행하면서 사람들을 태우자. 이제 도착시간을 기준으로 timetabl..
문제 링크 : https://www.acmicpc.net/problem/16719 16719번: ZOAC 2018년 12월, 처음 시작하게 된 ZOAC의 오프닝을 맡은 성우는 누구보다 화려하게 ZOAC를 알리려 한다. 앞 글자부터 하나씩 보여주는 방식은 너무 식상하다고 생각한 성우는 문자열을 보여주는 새로 www.acmicpc.net 나는 진행을 거꾸로했다. 완성된 문자열에서 하나씩 지워가면서 체크했다. 문자를 중간에 끼워넣고 하는 아이디어가 잘안떠올라서 그냥 거꾸로 진행했다. 처음에는 입력으로 들어온 문자열을 가지고 시작하며 정답 배열에 입력 문자열을 저장해놓자. 다음부터는 결과의 마지막 문자열을 가지고 수행한다. 우선 현재 문자열을 리스트로 바꿔서 두개의 리스트에 저장했다. 하나는 현재 기준으로 문자..
문제 링크 : https://www.acmicpc.net/problem/22860 22860번: 폴더 정리 (small) main 폴더 하위에는 FolderA 폴더 하위에 있는 File1, File2, FolderB 폴더 하위에 있는 File1, File3이 있다. 파일의 종류는 File1, File2, File3 총 3가지이고, 파일의 총 개수는 File1, File2, File1, File3 총 4개이다. mai www.acmicpc.net 그냥 트리 구조 만들어서 했다. 노드는 이름, 종류, 파일 리스트, 폴더 리스트 4가지로 구성했다. 그리고 folders라는 딕셔너리에 입력으로 주어지는 폴더 정보의 상위 폴더 노드를 저장했다. main FolderA 1 FolderA File1 0 위의 두개 입..
문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/17683 코딩테스트 연습 - [3차] 방금그곡 방금그곡 라디오를 자주 듣는 네오는 라디오에서 방금 나왔던 음악이 무슨 음악인지 궁금해질 때가 많다. 그럴 때 네오는 다음 포털의 '방금그곡' 서비스를 이용하곤 한다. 방금그곡에서는 TV, programmers.co.kr 구현문제이다. 문자열 처리만 잘 해준다면 크게 어렵지 않다. 악보나 기억한 멜로디를 전처리를 해주어야한다. C,C# 이처럼 #이 붙은 문자열을 처리해줘야한다. 왜냐면 기억한 멜로디가 CC 이고 악보가 CC#이라면 판별하기 까다롭기 때문에 다 다른 문자로 바꿔주자. 나는 그냥 모든 음 다른 문자열로 매칭시켜줬다. 주의할 점은 문제에 사용..
문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/86052 코딩테스트 연습 - 빛의 경로 사이클 각 칸마다 S, L, 또는 R가 써져 있는 격자가 있습니다. 당신은 이 격자에서 빛을 쏘고자 합니다. 이 격자의 각 칸에는 다음과 같은 특이한 성질이 있습니다. 빛이 "S"가 써진 칸에 도달한 경우, 직진 programmers.co.kr 구현, 시뮬레이션 문제이다. 각 칸에 명령에 따라 진행방향을 정하고 다음 칸으로 이동한다. 이때 이동하다가 처음 시작점, 시작방향이 똑같은 점으로 오면 한 사이클이 생성된 것이다. 이때 사이클의 길이를 구하는 문제이다. 나는 각 점에서 나가는 방향을 기준으로 사이클을 판별했다. 만약 같은 칸에 다른 방향으로 빛이 나아가..
문제 링크 : https://www.acmicpc.net/problem/7682 7682번: 틱택토 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 줄은 9개의 문자를 포함하며, 'X', 'O', '.' 중 하나이다. '.'은 빈칸을 의미하며, 9개의 문자는 게임판에서 제일 윗 줄 왼쪽부터의 순서이다. 입 www.acmicpc.net 처음에는 그냥 단순하게 모든 경우를 재귀로 구해서 set에 저장 후 set에 있냐 없냐로 검사했다. 당연히 느리다. 다른 분들이 비해서 느려서 다시 풀어봤다. 모두 구하지 말고 입력으로 들어온 문자를 검사를 하는 것으로 했다. 게임의 종료 조건은 가로,세로,대각으로 3개의 말이 모이면 된다. 그래서 if문으로 다 해줬다. 그리고 모든 칸이 다 채워졌는데도 위의 조건이 ..