반응형

백준 49

[ C++ ] #7576 토마토

골드단계의 문제를 스스로 풀어보는건 처음이라! 꼭 스스로 풀겠다는 다짐을 하며 문제를 보았다. 음..1부터 시작해서 그냥 0인거 BFS하면 되겠다 싶었는데 요일를 세야하니까 한 타임에 몇개가 큐에 들어왔는지 세서 그 큐가 다 소진될때마다 하루씩 늘려야겠다고 생각했다. 풀 수 있을거같은데 시간초과가 날거같은...느낌? 일단 GO 다른 방법이 생각났다. 며칠째에 내가 익었는지 내 칸에 적어놓는다면 내 다음칸은 내 칸을 보고 +1을 하면 된다!! 다이나믹한 방법이다. 야호~! 맞았따~!~! 혼자힘으로 했다는게 너무 뿌듯하다~!~! #include #include #include using namespace std; int dx[4] = {0,1,0,-1}; int dy[4] = { 1,0,-1,0 }; que..

BOJ/[ BOJ ] C++ 2023.01.23

[ C++ ] #2178 미로탐색

미로찾기는 BFS에서 많이 나오는 문제이다. 미로찾기 까지는 성공했지만,,, 이 문제의 핵심인 최단경로구하는거에서 막혔다.. 가다가 이길이 아닐때 어떻게 거리를 구하지...??? 맞는일인지 아닌지 어떻게 알고 거리를 update하지?? 이 것에 대한 해결방안으로 방문했는지 체크하는 배열에 이 자리까지 오는데 걸린 거리를 저장하는걸로 하였다. 다이나믹 프로그래밍..을 이용했다고 볼 수 있을 것 같다. #include #include #include #include using namespace std; int check[100][100]; int n, m; int dx[4] = { 0,1,0,-1 }; int dy[4] = { 1,0,-1,0 }; string a[100]; int main() { ios::..

BOJ/[ BOJ ] C++ 2023.01.15

[ C++ ] #1926 그림

어떤식으로 해야할지 알 것 같으면서도...코드로 짜려고하니까 잘 생각이 안난다. BFS로 1이 있는한 계속 탐색을 하고 0 으로 둘러쌓이면 탐색을 멈추면된다. 그렇게 그림을 하나 찾아내면 그 다음은 어디에서부터 탐색해야할까? 내가 놓치고 있던게 있었다. 다 0으로 둘러쌓여있으면 Queue는 비기 때문에 BFS는 끝난다. 그럼 그 이후 탐색을 하면서 방문하지 않았고 1인 지점을 찾은 뒤 거기서 부터 다시 BFS를 진행하면된다..! BFS 문제를 처음 풀어봐서 조금의 도움을 받았다는게 너무 아쉽고 찝찝하다... 다음에는 무슨일이 있어도 꼭 내 힘으로만 풀어야지!!!!!!!! #include #include #include using namespace std; int check[500][500]; int ma..

BOJ/[ BOJ ] C++ 2023.01.14

[ C++ ] #1021 회전하는 큐

앞뒤로 넣기 간단한 deque를 이용하면 해결할 수 있을 것 같다. 1번도 연산자의 일부라고 생각해서 1번을 사용할 수 있으면 1번을 쓰고 1번을 못쓰는경우에만 2번3번을 써야한다고 생각해서 실버4치고 복잡하다고 생각하고있었다.. 아직 문제를 많이 안풀어봐서 문제해석능력이 부족한것같다. 찾을 숫자는 num이라는 배열에 정리하였고 순서판의 숫자들은 deque에 넣어관리하였다. 분명 간단하다고 생각했는데... 자꾸 실패해서 보니까 왼쪽이동 오른쪽이동의 규칙이 명확하지 않았다. 그래서 찾아야하는 숫자의 인덱스와 덱의 사이즈의 절반을 비교하여 오른쪽으로 이동할지 왼쪽으로 이동할지 결정하였다. 그랬더니 바로 원하는 결과가 나왔다! #include #include using namespace std; int num..

BOJ/[ BOJ ] C++ 2023.01.04

[ C++ ] #10828 스택

어려운문제는 아니다! 하지만 출력을 예제처럼 깔끔하게 하려고 저장해놨다가 출력했더니 계속 틀렸다. 질의응답을 봤더니 다들 그냥 바로 출력했길래 나도 그렇게 했더니 맞았다..ㅎㅎ #include #include #include using namespace std; int main() { int n,b; string a; stack s; int* result = new int[n]; cin >> n; for (int i = 0; i > a; if (a == "push") { cin >> b; s.push(b); }else if(a == "top") { if (s.empty()) cout

BOJ/[ BOJ ] C++ 2022.12.21

[ C++ ] #24416 알고리즘 수업 - 피보나치 수 1

알고리즘시간에 배운 동적프로그래밍 문제를 하나 가져와봤다. 의사코드를 한번 보면 재귀호출은 들어온 숫자(n)이 1이나 2가 아니라면 n-1과 n-2를 인자로 재귀호출하여 더해준다. 만약 6이 들어온다면 f(6) → f(5) + f(4) → ( f(4)+f(3) ) + ( f(3)+f(2) ) → ( ( f(3)+f(2) ) + ( f(2)+f(1) ) ) + ( ( f(2)+f(1) )+1 ) → ( ( ( f(2)+f(1) )+1 ) + ( 1+1 ) ) + ( (1+1 )+1 ) → ( ( ( 1+1 )+1 ) + 2 ) + 3 → 8 동적프로그래밍 의사코드를 보면 인자로 들어온 n만큼 배열을 만들어서 인덱스 1,2, 에는 1을 넣어주고 나머지 인덱스에는 앞에 두자리를 더한 값을 넣어준다. 하지만 '..

BOJ/[ BOJ ] C++ 2022.11.22

[ 2학년 여름방학 ] 방학 공부 계획

1. 알고리즘 바킹독님 영상 보고 공부하기..! 꼭 끝까지하고 백준도 모두 풀어보기!! (C++) 2. 동아리 스터디 동아리 스터디 신청한거 밀리지 말고 꾸준하게 열심히 공부하기!!! 2. Node.js 저번 스터디 열심히 못한게 넘 아쉬워서 꾸준히 해서 책 한번 끝내보자! 4. 프로젝트 계획 한 프로젝트 해서 배포하기! 개강 전에 마쳐보기!! 5. 전화영어 정말정말 귀찮지만 환급을 위해 꼭 6번까지만 빠지기..! 6. 토익 토익 목표는 840점..! 더도 말고 덜도 말고 딱 장학금 기준까지만 찍자 파고다 Voca , 파고다 RC 실력완성, 파고다 LC 실력완성, ets 기출 1000 vol3 으로 준비할 것이다. 책은 6/22 ~ 7/23 까지 해서 끝낼 것이고 그 이후로는 기출만 돌리다가 8/7에 토..

Note 2022.06.22
반응형