y0ngjaenious / 3Q-per-week

1 stars 0 forks source link

3문제 인증 - 김희진 #2

Open gimmizz opened 3 years ago

gimmizz commented 3 years ago

2020년 12월 2주차

문제

1. 전화번호 목록(Link)

분류: Data Structure/Hash 난이도: Level 2(programmers) 풀이 링크: Python 한줄평: 해시 유형이지만, 문자열처리로 풀었다(!)

2. Sort_H-Index(Link)

분류: Data Structure/Sort 난이도: Level 2(programmers) 풀이 링크: Python 한줄평: 정렬 초보에게 딱이었다

3. 위장(Link)

분류: Data Structure/Hash 난이도: Level 2(programmers) 풀이 링크: Python 한줄평: dictionary 쓰는 아주 쉬운 문제, 기초 문법을 처음에 까먹었지만 안 상태라면 제일 쉬운 문제.

gimmizz commented 3 years ago

2020년 12월 3주차

문제

1. 전화번호 목록(Link)

분류: Data Structure/Heap 난이도: Level 2(programmers) 풀이 링크: Python 한줄평: heap 개념 학습하고, 첫 유형으로 쉽게 풀었다. priorityqueue보다 heapq를 쓸 것!

2. 주식가격(Link)

분류: Data Structure/Stack,Queue 난이도: Level 2(programmers) 풀이 링크: Python 한줄평: 스택큐라고 분류되어있지만, 사용하지 않았다. 쉬웠다!

3. 기능개발(Link)

분류: Data Structure/Stack,Queue 난이도: Level 2(programmers) 풀이 링크: Python 한줄평: 비교적 오래걸렸다. math library 사용법을 간단히 익혔고, 나중에 또 풀어봐야지!

gimmizz commented 3 years ago

2020년 12월 4주차

gimmizz commented 3 years ago

2021년 1월 1주차

문제

1. 디스크 컨트롤러 (Link)

분류: Data Structure/Heap 난이도: Level 3(Programmers) 풀이 링크: Python 한줄평: 원리만 생각하면 간단했다. heapq를 사용해서 다시 풀어보자.

2. 베스트 앨범(Link)

분류: Data Structure/Hash 난이도: Level 3 (Programmers) 풀이 링크: Python 한줄평: dictionary의 sort 주의하자!

3. 타겟 넘버(Link)

분류: Data Structure/DFS 난이도: Level 2(Programmers) 풀이 링크: Python 한줄평: 굳이 dfs를 써보았다.

gimmizz commented 3 years ago

2021년 1월 2주차

문제

1. 프린터(Link)

분류: Data Structure/Stack, Queue 난이도: Level 2(Programmers) 풀이 링크: Python 한줄평: 어렵지 않은 (BUT 나에겐 쉽지도 않았던) 스택큐 문제였다. 순서도 저장하는 법 기억하기!

2. K번째 수(Link)

분류: Data Structure/Sort 난이도: Level 1(Programmers) 풀이 링크: Python 한줄평: 쉬운 정렬 문제였다

3. 네트워크(Link)

분류: Algorithm/BFS 난이도: Level 3(Programmers) 풀이 링크: Python 한줄평: 전형적인 BFS 문제. 틀을 외우면 유용하겠다.

gimmizz commented 3 years ago

2021년 1월 3주차

문제

1. 1713번_후보 추천하기(Link)

분류: Algorithm/단순 구현 난이도: Silver 1(BOJ) 풀이 링크: Java 한줄평: Java 다시 익히는 데 도움된 문제. 내 수준에 딱 맞는 문제였다(쉬움)

2. 11051번_이항 계수 2(Link)

분류: Algorithm/조합론 난이도: Silver 1(BOJ) 풀이 링크: Java 한줄평: 오버플로우 주의, 쉬운 파스칼삼각형 문제

3. 1927번_최소 힙(Link)

분류: Data Structure/Heap 난이도: Silver 1(BOJ) 풀이 링크: Java 한줄평: 최소힙 구현하는 문제. 원리 익히는 용도

4. 같은 숫자는 싫어(Link)

분류: Data Structure/Array 난이도: Level 1(Programmers) 풀이 링크: JavaScript 한줄평: 자바스크립트 문법 익히기_var, let, const 차이

5. K번째 수(Link)

분류: Data Structure/정렬 난이도: Level 1(Programmers) 풀이 링크: JavaScript 한줄평: 자바스크립트 문법 익히기_자바스크립트의 숫자 sort 주의

6. 두 정수 사이의 합(Link)

분류: Algorithm/단순 구현 난이도: Level 1(Programmers) 풀이 링크: JavaScript 한줄평: 자바스크립트 문법 익히기_Math.max/min

gimmizz commented 3 years ago

2021년 1월 4주차

문제

1. 10845번_큐(Link)

분류: Data Structure/Queue 난이도: Silver 4(BOJ) 풀이 링크: C++ 한줄평: 간단한 큐 구현 문제. 배열로 구현했다.

2. 10828번_스택(Link)

분류: Data Structure/Stack 난이도: Silver 4(BOJ) 풀이 링크: C++ 한줄평: 간단한 큐 구현 문제. 벡터로 구현했다.

3. 11659번_구간 합 구하기 4(Link)

분류: Algorithm/구간합 난이도: Silver 3(BOJ) 풀이 링크: C++ 한줄평: 구간 합 유형 처음 쉽게 익히기 좋은 문제였다!

4. 11660번_구간 합 구하기 5(Link)

분류: Algorithm/구간합 난이도: Silver 1(BOJ) 풀이 링크: C++ 한줄평: 구간 합 문제 응용. 2차원에서의 구간 합. 다시 풀어보지 뭐 호호

6. 2579번_계단 오르기(Link)

분류: Algorithm/DP 난이도: Silver 3(BOJ) 풀이 링크: C++ 한줄평: DP 처음 익히기 좋은 문제. DP 새로워!

7. 1932번_정수 삼각형(Link)

분류: Algorithm/DP 난이도: Silver 1(BOJ) 풀이 링크: C++ 한줄평: DP 처음 익히기 좋은 문제 2

8. 2504번_괄호의 값(Link)

분류: Data Structure/Stack 난이도: Silver 3(BOJ) 풀이 링크: C++ 한줄평: 난이도는 비교적 낮은데, 구현(보다 힘들었던 건 사실 에러 잡기)하는 데 엄청 애 먹었다. 발상의 전환! 그리고 c++에서 문자열이 다루기 어렵다는 것을 깨닫게 해준 문제.. 오버플로우 유의하기.

9. 1753번_최단 경로(Link)

분류: Algorithm/Graph, 최단 경로 난이도: Gold 5(BOJ) 풀이 링크: C++ 한줄평: 최단경로 문제 (다익스트라). 원리는 익숙하지만 구현은 힘들었다. 다음 주에 다른 최단경로 유형 풀어보자~

gimmizz commented 3 years ago

2021년 1월 5주차

문제

1. 4796번_캠핑(Link)

분류: Algorithm/그리디, 수학 난이도: Silver 5(BOJ) 풀이 링크: C++ 한줄평: 그리디 알고리즘 입문용 문제.

2. 1449번_수리공 항승(Link)

분류: Algorithm/그리디, 정렬 난이도: Silver 3(BOJ) 풀이 링크: C++ 한줄평: 생각하기 쉬웠는데, 정렬을 안해서 틀리게 하는건 너무해!

3. 17509번_And the Winnder Is.. Ourselves!(Link)

분류: Algorithm/그리디, 정렬 난이도: Silver 5(BOJ) 풀이 링크: C++ 한줄평: 쉬웠다! 아주 쉬운 그리디 !

4. 11279번_최대 힙(Link)

분류: Data Structure/우선순위 큐 난이도: Silver 5(BOJ) 풀이 링크: C++ 한줄평: queue 헤더를 사용해 pq로 간단히 풀었다. 아주 기초! + endl은 시간초과 뜨니까 주의..

5. 1927번_최소 힙(Link)

분류: Data Structure/우선순위 큐 난이도: Silver 1(BOJ) 풀이 링크: C++ 한줄평: 최대 힙 문제와 흡사하다. 근데 greater 쓰려면 functional 헤더 추가해야하는데 그냥 해도 되는군 !

6. 11286번_절댓값 힙(Link)

분류: Data Structure/우선순위 큐, 구현 난이도: Silver 1(BOJ) 풀이 링크: C++ 한줄평: 약간의 응용. pair형 힙으로 만들어서, 원래 값도 저장하도록 했다. 어렵지 않지만, comp 구조체 처음 써봐서 뿌듯한 문제 유후!

7. 두 정수 사이의 합(Link)

분류: Algorithm/구현 난이도: Level 1(Programmers) 풀이 링크: C++ 한줄평: 이전에 푼 문제라 바로 구현했다. Level 1 배지용!

8. 하샤드 수(Link)

분류: Algorithm/구현 난이도: Level 1(Programmers) 풀이 링크: C++ 한줄평: 자릿수합 문제. 아주 간단! Level 1 배지용

9. 2178번_미로 탐색(Link)

분류: Algorithm/BFS, 그래프 탐색 난이도: Silver 1(BOJ) 풀이 링크: C++ 한줄평: 각 정점의 최단거리를 재야 한다 -> level 저장 방식. bfs는 익숙해지도록 반복하자!!

10. n진수게임(Link)

분류: Algorithm/수학 난이도: Level 2(Programmers) 풀이 링크: C++ 한줄평: 전형적인 n진수문제. 간단하다. python이었다면 더 쉬웠을 것 같다. repeat 변수가 음수로 넘어갈 경우도 있었는데, repeat > 0 이 아닌, repeat != 0 으로 루프를 돌려서 무한루프를 해결하지 못해 풀지 못했다.. 으아 너무 아쉽다.

11. 점프와 순간 이동(Link)

분류: Algorithm/수학 난이도: Level 2(Programmers) 풀이 링크: C++ 한줄평: 원리만 생각하면 간단히 풀수 있는 쉬운 문제.

12. 조이스틱 (Link)

분류: Algorithm/그리디 난이도: Level 2(Programmers) 풀이 링크: C++ 한줄평: greedy라는 걸 알고 접근해서 조금 더 쉽게 풀었을 것 같은데, 모르고 풀었으면 더 오래 걸릴 뻔 했다. 방향이 바뀔 수도 있다는 것을 처음에는 인지 못했는데, 테스트케이스 혼자 해보면서 깨달았다. 구현해내는 속도가 더 빠르면 좋을 것 같다.. 아직은 너무 느리다!

13. 1012번_유기농 배추(Link)

분류: Algorithm/그래프, DFS 난이도: Silver 2(BOJ) 풀이 링크: C++ 한줄평: 컴포넌트 개수 구하기 전형적인 문제 유형.

gimmizz commented 3 years ago

2021년 2월 1주차

문제

1. 튜플(2019 카카오 개발자 겨울 인턴십)(Link)

분류: Algorithm/문자열처리 난이도: Level 2(Programmers) 풀이 링크: C++ 한줄평: c++에게 문자열처리는 아주 고약하다,, python이었다면 split으로 간단히 구현할 수 있었을 텐데. find 유형의 문제는 map에 저장하는 방식을 생각하자. Level 2 실력체크(2번째 도전_fail)

2. 카펫(Link)

분류: Algorithm/완전 탐색 난이도: Level 2(Programmers) 풀이 링크: C++ 한줄평: for문을 통해 완전탐색 해보는 간단한 문제. 수학문제 같았다. Level 2 실력체크(2번째 도전_fail)

3. 행렬의 곱셈(Link)

분류: Algorithm/구현, 수학 난이도: Level 3(Programmers) 풀이 링크: C++ 한줄평: vector의 size를 미리 정해놓으려는 생각 말자. vector를 제대로 쓰지 않고 있는 것. Level 2 실력체크(3번째 도전_success + 다른 한문제는 풀었던 문제였다(조이스틱))

4. 최솟값 찾기(Link)

분류: Data Structure/우선순위 큐 난이도: Platinum 5(BOJ) 풀이 링크: C++ 한줄평: 윈도우 사이즈 넘어서는(기간이 지난) 원소들은 없애주어야 하는데, 내가 궁금한 건, 이 중 최솟값에 영향을 주는 것 -> 힙으로 kill 원소를 모아놓자. 덱 유형인데, pq로도 풀 수 있다. 내 생애 첫 플래티넘 문제(!)

gimmizz commented 3 years ago

2021년 2월 2주차

문제

1. 욕심쟁이 판다(Link)

분류: Algorithm/DP, 그래프 난이도: Gold 3(BOJ) 풀이 링크: C++ 한줄평:

2. RGB 거리(Link)

분류: Algorithm/DP 난이도: Silver 1(BOJ) 풀이 링크: C++ 한줄평:

3. 사회망 서비스(SNS)(Link)

분류: Algorithm/DP, 트리 난이도: Gold 3(BOJ) 풀이 링크: [C++]https://github.com/gimmizz/Data-Structure-Algorithm/blob/main/BOJ/C%2B%2B/Gold3_2533.cpp) 한줄평:

4. 자릿수 더하기(Link)

분류: Algorithm/수학 난이도: Level 2(Programmers) 풀이 링크: JavaScript 한줄평: javascript에서 parseInt 함수 처음 써봤다. 이 방법만 알면, 간단한 문제

5. 숫자의 표현(Link)

분류: Algorithm/수학, 단순 구현 난이도: Level 2(Programmers) 풀이 링크: JavaScript 한줄평: 종결조건만 잘 선언하면 전혀 문제 없는 단순한 구현 문제였다.

gimmizz commented 3 years ago

2021년 2월 3주차

이번 주는 쉬어갑니다.. 그래프 DP 문제 찾아보고 다음주에 중점적으로 풀 예정! 제약 상황에서의 최단경로..

gimmizz commented 3 years ago

2021년 2월 3주차

문제

1. Hackerrank Problem Solving (Basic) Skills Certification Test 1번문제(String Anagram)

문제 설명: String Anagram. 같은 문자열, 같은 길이로 이뤄진 관계(anagram이라 칭함)의 수를 return하는 문제 분류: 정렬, 문자열 난이도: 중 사용 언어: [C++] 한줄평: 처음에 단순히 map으로 구현해서 비교하려고도 하고, 포인터로 비교해보려고 했는데.. 계속 시간초과가 떴었다. 하지만 정렬로 풀었더니 바로 풀렸던 문제! 정렬해서 비교하면 쓸데없는 반복을 피할 수 있다~

2. Hackerrank Problem Solving (Basic) Skills Certification Test 2번문제(Subarrays Sum)

문제 설명: 제한시간이 짧은 경우에서의 구간합구하기 문제 분류: 구간합, DP 난이도: 중 사용 언어: [C++] 한줄평: 당연히 간단히 구현될 줄 알고, 단순구현으로 풀었는데, 계속해서 시간 초과가 났었다. 설마 DP겠어 했지만 진짜 DP였던 문제. 구간합은 그냥 가능하면 DP로 풀어보자.

3. 비트 베리 (SNS)(Link)

분류: Algorithm/수학 난이도: Silver 3(BOJ) 풀이 링크: C++ 한줄평:

gimmizz commented 3 years ago

2021년 3월 1주차

문제

1. 1로 만들기(Link)

분류: Algorithm/DP 난이도: Silver 3(BOJ) 풀이 링크: C++ 한줄평: 맨 처음엔 단순히 그리디라고 생각했는데, 아니다! dp다!

2. 카드 구매하기(Link)

분류: Algorithm/DP 난이도: Silver 1(BOJ) 풀이 링크: C++ 한줄평: 기본적인 디피문제! 복습하기 좋았다

3. 줄 세우기(Link)

분류: Algorithm/그래프, 위상정렬 난이도: Gold 2(BOJ) 풀이 링크: C++ 한줄평: 위상정렬 유형은 처음이라, 개념을 보고 구현해냈다. queue를 통해 구현하는것 기억해야겠다!

gimmizz commented 3 years ago

2021년 3월 2주차

문제

1. Shortest distance to a character(Link) : 2주차 동영오빠추천문제

분류: Algorithm/구현 난이도: Easy(LeetCode) 풀이 링크: C++ 한줄평: 되게 단순한 데 조건 생각할 게 많았다,, 어떻게하면 더 짧게 구현할지 생각하며 공부했다!

2. 2018카카오블라인드 [3차] 압축(Link) : 1주차 유림추천문제

분류: Algorithm/문자열, 구현 난이도: Level 2(Programmers) 풀이 링크: C++ 한줄평:

3. 스티커(Link)

분류: Algorithm/DP 난이도: Silver 2(BOJ) 풀이 링크: C++ 한줄평: 내가 설정한 DP의 정의에 따라, 상태 변화 체크하는게 아직 너무 어렵다ㅠㅠ 많이 연습해야할 것 같다. 오랜만에 DP풀었어두 유형은 익숙해서 다행

gimmizz commented 3 years ago

2021년 3월 3주차

이번 주는, 코테 주간이었습니다 :) 3월 실전 후기 업로드하였습니다.

gimmizz commented 3 years ago

2021년 3월 4주차

문제

1. 랜선 자르기(Link)

분류: Algorithm/이분탐색 난이도: Silver 3(BOJ) 풀이 링크: C++ 한줄평: 단순한 이분 탐색문제! 이분탐색을 여러번 해주면 된다

2. 강의실 배정하기(Link)

분류: Algorithm/그리디 난이도: Gold 5(BOJ) 풀이 링크: C++ 한줄평: 우선순위큐를 사용하면 그리디처럼 풀수 있다. (내가 풀었던거에 비해..) 난이도가 제법 있지만 예전에 풀어본 유형이라 풀수 있었다!

3. 쉬운 계단 수(Link)

분류: Algorithm/DP 난이도: Silver 1(BOJ) 풀이 링크: C++ 한줄평: 자리수처리만 해주면, 무난한 dp 문제이다

gimmizz commented 3 years ago

2021년 4월 1주차

문제

1. K번째 수(Link)

분류: Algorithm/이분탐색 난이도: Gold 3(BOJ) 풀이 링크: C++ 한줄평: 중간에 for문 처리를해서 이분탐색을 돌리는 생각을 하느라 오래걸렸다.....ㅎ 내용은 간단하지만 계속 걸리는 문제 유형

2. 대칭 차집합(Link)

분류: Algorithm/집합 (set) 난이도: Silver 2(BOJ) 풀이 링크: C++ 한줄평: 평소에 잘 안 쓰는 set을 사용해봤다! 잘 쓰이지 않아도 기억해놔야겠다 호호

3. 부분수열의 합(Link)

분류: Algorithm/완전 탐색 난이도: Silver 2(BOJ) 풀이 링크: C++ 한줄평: 정말 간단한 완전탐색이었다! ^_^

gimmizz commented 3 years ago

2021년 4월 2주차

이번 주는 쉬어갑니다.. 과제+시험기간 화이팅!

gimmizz commented 3 years ago

2021년 4월 ~ 5월 1주차

문제

1. 연구소 (Link)

분류: Algorithm/bfs, dfs 난이도: Gold 5(BOJ) 풀이 링크: C++ 한줄평: bfs와 dfs를 활용한 문제. 시간을 생각보다 넉넉하게 줘서 경우를 모두 탐색해도 시간초과가 안떴다.

2. 미세먼지 안녕!(Link)

분류: Algorithm/구현 난이도: Gold 5(BOJ) 풀이 링크: C++ 한줄평: 그냥 구현문제. 문제 조건 그대로 구현하면 된다.

3. 지금 만나러 갑니다(Link)

분류: Algorithm/bfs 난이도: Gold 3(BOJ) 풀이 링크: [C++]https://github.com/gimmizz/Data-Structure-Algorithm/blob/main/BOJ/C%2B%2B/Gold3_18235.cpp) 한줄평: 좀 독특한 bfs 문제! -1이 뜨는 조건을 잘 찾아야한다!

gimmizz commented 3 years ago

2021년 5월 2주차

이번 주는, 코테 주간이었습니다 :) 5-6월 실전 후기 업로드하였습니다.

gimmizz commented 3 years ago

2021년 5월 3주차

이번 주는 쉬어갑니다.

gimmizz commented 3 years ago

2021년 5월 4주차

문제

1. 나머지의 합 (Link)

분류: Algorithm/누적합 난이도: Gold 4(BOJ) 풀이 링크: C++ 한줄평: 누적합을 이용하고, 쌍 매칭을 효율적으로 하면 되는 문제. 문제 자체는 그렇게 어려운건 아니지만, 평소에 누적합을 잘 안 써서 푸는데 오래걸렸다

2. 피보니치수 2(Link)

분류: Algorithm/구현, 수학 난이도: Bronze 1(BOJ) 풀이 링크: C++ 한줄평: 기본적인 피보나치 문제이다! 오랜만에 풀어서 감잡기용으로 리마인드 하기 좋았다

3. 퍼즐(Link)

분류: Algorithm/BFS + 완전 탐색 난이도: Gold 2(BOJ) 풀이 링크: C++ 한줄평: bfs 탐색이다! 인지최 과제 생각나서 풀었다. 자료구조 설정만 잘하면 큰 문제는 없었다!