supin2 [백준] 13414번 : 수강신청 문제 푼 날짜 : 2021-11-01 문제 링크 : 처음엔 입력값을 vector에 넣어주다가, find 함수를 이용하여 vector에 존재하는 값이 들어오면 기존의 값을 erase해주는 방식으로 구현했다. 하지만, 시간초과가 떴다. (웬만하면 find는 쓰면 안될 것 같다...) 모든 입력값을 vector에 넣어준 다음, vector의 마지막 값부터 탐색하며 set을 이용하여 이미 넣어준 값... 백준cppsupin2cpp [프로그래머스] 5주차_모음사전 문제 푼 날짜 : 2021-09-10 문제 링크 : 아래의 생각대로 코드를 구현하였다. 1~5자리로 만들 수 있는 모든 단어를 구해준다. (백트래킹) 구해진 단어들을 오름차순으로 정렬해준다. 찾고싶은 단어의 위치를 find함수를 통해 찾아주고, 그 위치를 return해준다. 백트래킹 문제 더 풀어보기... 프로그래머스supin2위클리 챌린지cpplevel2cpp [백준] 17090번 : 미로 탈출하기 문제 푼 날짜 : 2021-10-01 문제 링크 : DP와 DFS를 이용한 그래프 탐색문제이다. 문제에 입력으로 주어진 미로의 모든 위치에서 출발하여 탈출이 가능한지 DFS로 탐색해주었다. 탐색하면서 중요한건 메모이제이션을 활용하는 것이다. 이를 위해 dp 배열을 선언하였고, dp배열이 의미하는 것은 해당 인덱스에서 출발하였을 때 미로를 탈출할 수 있는지이다. (dp[x][y] = 1 일 때... 백준supin2cppcpp [백준] 2947번 : 나무조각 문제 푼 날짜 : 2021-11-03 문제 링크 : 문제를 처음 읽었을 때는 sorting 문제인 것은 알겠는데, 뭔가 설명이 어렵게 느껴졌다. 하지만, 문제에 주어진대로 수행하다 보면 버블 소트와 동일한 동작을 나타내는 것을 알 수 있었다. 따라서 버블 소트를 구현할 수 있다면 쉽게 풀 수 있는 문제였다. C++ sort 함수만 쓰다가 오랜만에 정렬을 구현하려니 낯설었다.... 백준supin2cppcpp [백준] 10798번 : 세로읽기 문제 푼 날짜 : 2021-09-25 문제 링크 : 문제를 이해하는데는 크게 어렵지 않았다. 다만, vector에 입력 string들을 모두 저장해 값을 읽어오다보면 모든 string의 길이가 같다는 보장이 없기 때문에, 해당 인덱스에 값이 없는데 접근하는 경우가 생긴다. (이런 경우 알 수 없는 값을 불러오기도 한다.) 그래서 이를 해결하기 위해 각 string의 길이내에서만 접근하도록 하... 백준supin2cppcpp [백준] 12789번 : 도키도키 간식드리미 문제 푼 날짜 : 2021-11-01 문제 링크 : 스택과 큐를 이용하여 풀 수 있는 문제였다. 아래의 생각대로 코드를 구현하였다. 주어진 입력들을 큐에 넣어주고, 번호표 1번부터 체크해준다. 큐의 front에 번호표와 같은 값이면 pop해준다.(번호표 +1) 다른 값이면 스택의 top값을 봐준다. 스택의 top에 번호표와 같은 값이 있으면, 그 값을 pop해준다. (번호표 +1) 번호표와 ... 백준supin2cppcpp [백준] 12847번 : 꿀 아르바이트 문제 푼 날짜 : 2021-10-06 문제 링크 : 슬라이딩 윈도우 알고리즘을 이용하는 문제였다. 코드는 아래의 생각대로 구현하였다. 문제에 주어진 최대 크기의 배열을 선언하고, 입력에 주어진 일급을 순서대로 넣어준다. 준수는 m일 연속으로 일을 해야 하므로 1일부터 일급을 더해준다. 최대 m일 더해줬다면, m일을 초과하는 인덱스부터는 가장 낮은 인덱스의 일급을 빼주고 다음 위치의 일급을 더... 백준supin2cppcpp [백준] 1238번 : 파티 문제 푼 날짜 : 2021-07-07 문제 링크 : 다익스트라를 이용하여 파티가 열리는 X 까지 최단거리를 구하고, 다시 X에서 각자 집까지 돌아오는 최단거리를 구하여 그 두 값의 합이 가장 큰 값을 출력해주었다. 다익스트라 알고리즘에 점점 익숙해져가는 것 같다. 더 심화된 문제를 풀어봐야겠다.... 백준supin2cppcpp
[백준] 13414번 : 수강신청 문제 푼 날짜 : 2021-11-01 문제 링크 : 처음엔 입력값을 vector에 넣어주다가, find 함수를 이용하여 vector에 존재하는 값이 들어오면 기존의 값을 erase해주는 방식으로 구현했다. 하지만, 시간초과가 떴다. (웬만하면 find는 쓰면 안될 것 같다...) 모든 입력값을 vector에 넣어준 다음, vector의 마지막 값부터 탐색하며 set을 이용하여 이미 넣어준 값... 백준cppsupin2cpp [프로그래머스] 5주차_모음사전 문제 푼 날짜 : 2021-09-10 문제 링크 : 아래의 생각대로 코드를 구현하였다. 1~5자리로 만들 수 있는 모든 단어를 구해준다. (백트래킹) 구해진 단어들을 오름차순으로 정렬해준다. 찾고싶은 단어의 위치를 find함수를 통해 찾아주고, 그 위치를 return해준다. 백트래킹 문제 더 풀어보기... 프로그래머스supin2위클리 챌린지cpplevel2cpp [백준] 17090번 : 미로 탈출하기 문제 푼 날짜 : 2021-10-01 문제 링크 : DP와 DFS를 이용한 그래프 탐색문제이다. 문제에 입력으로 주어진 미로의 모든 위치에서 출발하여 탈출이 가능한지 DFS로 탐색해주었다. 탐색하면서 중요한건 메모이제이션을 활용하는 것이다. 이를 위해 dp 배열을 선언하였고, dp배열이 의미하는 것은 해당 인덱스에서 출발하였을 때 미로를 탈출할 수 있는지이다. (dp[x][y] = 1 일 때... 백준supin2cppcpp [백준] 2947번 : 나무조각 문제 푼 날짜 : 2021-11-03 문제 링크 : 문제를 처음 읽었을 때는 sorting 문제인 것은 알겠는데, 뭔가 설명이 어렵게 느껴졌다. 하지만, 문제에 주어진대로 수행하다 보면 버블 소트와 동일한 동작을 나타내는 것을 알 수 있었다. 따라서 버블 소트를 구현할 수 있다면 쉽게 풀 수 있는 문제였다. C++ sort 함수만 쓰다가 오랜만에 정렬을 구현하려니 낯설었다.... 백준supin2cppcpp [백준] 10798번 : 세로읽기 문제 푼 날짜 : 2021-09-25 문제 링크 : 문제를 이해하는데는 크게 어렵지 않았다. 다만, vector에 입력 string들을 모두 저장해 값을 읽어오다보면 모든 string의 길이가 같다는 보장이 없기 때문에, 해당 인덱스에 값이 없는데 접근하는 경우가 생긴다. (이런 경우 알 수 없는 값을 불러오기도 한다.) 그래서 이를 해결하기 위해 각 string의 길이내에서만 접근하도록 하... 백준supin2cppcpp [백준] 12789번 : 도키도키 간식드리미 문제 푼 날짜 : 2021-11-01 문제 링크 : 스택과 큐를 이용하여 풀 수 있는 문제였다. 아래의 생각대로 코드를 구현하였다. 주어진 입력들을 큐에 넣어주고, 번호표 1번부터 체크해준다. 큐의 front에 번호표와 같은 값이면 pop해준다.(번호표 +1) 다른 값이면 스택의 top값을 봐준다. 스택의 top에 번호표와 같은 값이 있으면, 그 값을 pop해준다. (번호표 +1) 번호표와 ... 백준supin2cppcpp [백준] 12847번 : 꿀 아르바이트 문제 푼 날짜 : 2021-10-06 문제 링크 : 슬라이딩 윈도우 알고리즘을 이용하는 문제였다. 코드는 아래의 생각대로 구현하였다. 문제에 주어진 최대 크기의 배열을 선언하고, 입력에 주어진 일급을 순서대로 넣어준다. 준수는 m일 연속으로 일을 해야 하므로 1일부터 일급을 더해준다. 최대 m일 더해줬다면, m일을 초과하는 인덱스부터는 가장 낮은 인덱스의 일급을 빼주고 다음 위치의 일급을 더... 백준supin2cppcpp [백준] 1238번 : 파티 문제 푼 날짜 : 2021-07-07 문제 링크 : 다익스트라를 이용하여 파티가 열리는 X 까지 최단거리를 구하고, 다시 X에서 각자 집까지 돌아오는 최단거리를 구하여 그 두 값의 합이 가장 큰 값을 출력해주었다. 다익스트라 알고리즘에 점점 익숙해져가는 것 같다. 더 심화된 문제를 풀어봐야겠다.... 백준supin2cppcpp