코테/항해99 30

[99클럽 코테 스터디 23일차 TIL] #힙5

벌써 23일 차네요. 얼마 전에 제 블로그가 몇몇 친구들에게 알려져서 혹시나 친구들이 제 글을 볼까 봐 쪼금 부끄럽네요 :(그래도 매일매일 보진 않겠죠? 아무튼 열심히 해보겠습니다. 문제 설명 오늘은 무슨 문제냐 하면, 이중벡터로 숫자 배열이 주어지면 각 row에 가장 큰 수를 뽑아 제거를 하는 식으로 진행이 됩니다. 근데 여기서, 제거될 때마다 제거된 수들 중 가장 큰 수를 변수에 따로 더해주어 그 값을 출력하는 문제입니다. https://leetcode.com/problems/delete-greatest-value-in-each-row/description/ 생각 흐름우선, 제가 제일 못 다루고 어려워하는 이중벡터 문제가 나와서 살짝궁 멘붕이 왔었습니다.요소를 접근해서 다루는 게 어렵다고 해야 하나,..

코테/항해99 2024.11.19

[99클럽 코테 스터디 22일차 TIL] #힙4

벌써 어느덧 22일 차네요.. 어제 분명히 알바 다녀와서 블로그 쓰려고 했는데 너무 힘들어서 뻗어버렸어요.뭔가 백준 스트릭 끊긴 것 같은 찝찝한 이 느낌,, 오늘이라도 열심히 써보겠습니다. 문제 설명 우선 처음보는 사이트에 영어로 된 문제였어서 처음엔 당황을 좀 했습니다; 근데 천천히 읽어보니 말하고자 하는 얘기는 쉽더라고요. 숫자로 된 배열 gifts와 수 k가 주어진 후, k만큼 반복해서 가장 큰 수의 제곱근을 배열에 넣어주고 가장 큰 수는 제거해 주는 간단한 문제였습니다.https://leetcode.com/problems/take-gifts-from-the-richest-pile/description/  생각 흐름음.. 문제를 이해하고 나서는 의외로 쉬운 문제였어요. 숫자 배열을 받고 이 속에 있..

코테/항해99 2024.11.18

[99클럽 코테 스터디 20일차 TIL] #힙2

스벅 카페에 앉아서 블로그를 써보네요. 오늘은 20일 차입니다. 열심히 풀어보겠습니다. 문제 설명정수 N이 주어지고 N*N의 숫자표가 주어집니다. 이러한 숫자표 중에서 N번째로 큰 수를 출력하는 간단해 보이는 문제입니다.https://www.acmicpc.net/problem/2075  생각 흐름처음 이 문제를 봤을 때는, 문제 길이가 그렇게 길지가 않아서 쉬운 문제구나 싶었습니다. 정수 n이랑 n*n으로 된 숫자표가 주어지고 이것들 중에서 n번째로 큰 수를 찾는 문제였어요. 어제 우선순위 큐와 min heap에 대한 문제를 풀었어서 우선순위큐로 쉽게 해결할 수 있겠구나 싶어서 반복문을 돌려서자신 있게 풀어냈는데 한 가지를 간과한 게 있었습니다. 바로 메모리와 시간 제한이였죠. n*n번 반복문을 돌리면 ..

코테/항해99 2024.11.16

[99클럽 코테 스터디 19일차 TIL] #힙 1

왠지 오랜만에 블로그를 쓰는 것 같네요. 꾸준히 무언가를 한다는 게 확실히 어려운 것 같습니다. 19일 차네요 다시 초심을 잃지 않고 열심히 해보겠습니다. 밀린 것도 다음번에 몰아서 한번 쓰긴 해야 할 거 같아요.. 문제 설명  문제 제목 그대로 최소 힙을 구현해서 문제의 조건대로 출력해 주면 되는 문제입니다.https://www.acmicpc.net/problem/1927   생각 흐름문제를 읽기 전에, 문제 제목에 쓰여있는 최소 힙을 읽고 잠깐 멘붕이 왔었습니다.예전에 분명 한번 공부했던 개념 같은데 기억에 없었기 때문이었죠... 어쩔 수 없이 힙에 대해서 구글링을 할 수밖에 없었어요. 힙은 이진트리의 형태를 가진 자료구조로 최대 힙 (Max heap)과 최소 힙(Min heap)으로 나누어지고 그렇..

코테/항해99 2024.11.15

[99클럽 코테 스터디 16일차 TIL] #스택/ 큐 5

한 개념을 가지고 여러 가지 문제를 풀어보는 게 확실히 공부하기엔 쉬운 것 같습니다. 16일 차인 오늘도 열심히 해보겠습니다! 문제 설명 연속된 수를 container 안에 넣어두고 이를 문제의 규칙에 맞게 나열해 출력하는 문제입니다. 생각 흐름우선, 요즘 스택, 큐에 대한 문제를 풀고 있기 때문에 스택 큐에 대해서 제일 먼저 생각났던 것 같습니다. 이 문제는 연속된 수를 넣어두고 문제의 규칙대로 제일 위쪽의 카드에 접근한다는 점에서..앞 뒤로 접근이 가능한 '큐'를 사용하는 문제라는 점을 빠르게 캐치했던 것 같습니다. 먼저 카드의 개수 n을 받아와 이를 반복문을 돌려 queue q에 하나씩 저장해 주었습니다. 그러고 나서 메모장을 켜고 일일이 손으로 쳐가면서 문제의 규칙에 대해 알아보았습니다. 문제에..

코테/항해99 2024.11.12

[99클럽 코테 스터디 15일차 TIL] #스택/ 큐 4

빼빼로데이에도 코테 스터디는 계속됩니다. 오늘은 15일 차! 힘차게 문제 풀어봅시다. 문제 설명 배열이 주어지면 배열 속 정수의 중복을 제거하여 다시 배열로 출력하는 문제입니다.단순히 말해서 중복된 요소를 제거하는 문제입니다. 생각 흐름단순한 벡터 구현 문제라는 것을 단번에 알아차렸던 것 같습니다.배열로 들어오는 숫자 배열 속 중복된 숫자를 삭제해버리면 되는 문제였기 때문에 이와 관련된 함수를 생각해 봤던 것 같습니다. 일일이 반복문으로 비교하면서 다른 배열에 넣어줘도 되겠지만 C++ STL에는 unique라는 함수가 있었다는 것을 기억해 냈기 때문에 쉽게 풀었던 것 같습니다. #include #include #include using namespace std;vector solution(vector ..

코테/항해99 2024.11.11

[99클럽 코테 스터디 14일차 TIL] #스택/ 큐 3

코테 스터디를 시작한 지도 벌써 2주가 다 되어가네요. 시간이 참 빠른 것 같아요. 오늘도 파이팅입니다! 문제 설명 오늘의 문제는 말그대로 큐를 구현해 보는 문제였습니다. 직접 구현을 해보면서 '큐'라는 자료구조에 대해 알아볼 수 있는 문제였습니다. 생각 흐름음.. 이 문제는 '큐'라는 자료구조를 다시 떠올릴 수 있었던 문제였던 것 같습니다. '큐'라는 자료구조는 대표적인 선입선출(FIFO) 알고리즘으로, push pop empty front back swap 등의 기본함수가 있다는 것을 떠올렸던 것 같아요. 예전에 배운 '스택'과 다른점은 front와 back 원소에 접근할 수 있다는 점을 기억해 냈죠.  헤더파일을 include 해주고 각 함수마다 q의 기능들을 적어줬어요. 큐는 자료가 저장되어서 f..

코테/항해99 2024.11.11

[99클럽 코테 스터디 13일차 TIL] #스택/큐 2

벌써 13일 차네요. 꾸준히 무언가를 한다는 게 참 힘든 것 같아요. 열심히 끝까지 해서 달라진 나의 모습을 보고 싶습니다. 문제 설명 단어들의 리스트가 주어질 때, 이를 반대로 뒤집어서 출력하는 프로그램을 작성하는 문제입니다.  생각 흐름문제를 보았을 때, 공백이 포함된 문자열이 주어지고 공백으로 구분된 문자들을 거꾸로 출력한다는 점을 보았을 때, 이 친구가 공백이 포함된 문자열을 다룰 줄 아는지,선입후출의 개념인 stack 자료구조를 잘 사용할 수 있는지를 보는 문제라는 게 바로 보였던 것 같습니다. 우선, 전체 케이스의 개수 n을 받아오고 이를 반복문을 돌려 공백 포함된 문자열을 getline() 함수를 통해서 받아주었습니다. 그리고 string 변수인 s, tmp, ans를 각각 선언해서 받아온 ..

코테/항해99 2024.11.10

[99클럽 코테 스터디 11일차 TIL] #해시7

오늘은 11일 차! 문제 풀이가 빨라질 때까지 차근차근해보겠습니다. 문제 설명 마라톤 경기를 하였을 때 참가자들 중 완주를 못한 선수의 이름을 출력하는 문제입니다.참가자와 완주자의 이름들이 문자열로 된 배열로 주어져 이를 비교하면 되는 문제입니다.  생각 흐름비교적 문제 이해가 쉬운 문제였습니다. 마라톤 경기를 하면서 참가자와 완주자가 있고완주를 못한 참가자를 출력하면 된다는 간단한 문제였어요. 음.. 프로그래머스 문제는 기본적인 틀을 주어서 참 좋은데 이를 적극 활용하기로 했습니다.string solution (vector participant, vector completion) 저는 map이라는 자료구조를 가지고 map m; 을 선언하여서 각 참가자 별로 뒤에 value 값을 1씩 올려주었습니다..

코테/항해99 2024.11.07