
아니 테스트케이스는 틀렸는데 정확성 테스트는 다 맞음... 왜일까...? vs로 확인해보려고 함. 암튼 이것도 풀긴했어서 올림 저번 문제와 동일하게 while 문 안에서 next_permutation 함수를 이용했다. next_permutation 를 이용해서 벡터의 인자들을 섞어주고 for문을 돌면서 차례대로 몇개의 던전을 갈 수 있는지 확인한다. 무지성 코딩이 답일때도 있지만 시간초과로 걸릴까봐 중간에 피로도가 0이면 for문에서 벗어나도록 조건도 체크해줬다. 그리고 지날 수 있는 던전의 개수가 이 전 던전탐색 최대 개수보다 크면 갱신해주는 식으로 풀었다. #include #include #include using namespace std; int solution..

완전탐색 문제이다 보니 아무래도 무지성 for문을 돌려도 대충 답은 나오는것 같다. 문제의 갈피를 잡기 어려울 수 있는데 테두리를 갈색으로, 중앙을 노란색으로 채우려면 카펫의 가로세로 격자가 3*3 이 최소가 되어야한다는 점을 인지하고 있다면 접근하는데 어려움은 없다. 가로가 세로보다 길거나 같으므로 가로의 index를 하나씩 증가하는 for문 안에 세로의 index를 증가하되, 가로보다 크거나작은 범위내로 돌려주었다. 그나마 시간이 걸렸던 부분은 if((width*height) == totalBlockCount) 와 if(((height-2) * (width-2)) == yellow) 부분인데 어느 하나라도 없으면 정확성 테스트에서 오류가 나더라. 이 두 부분을 모두 검사해주어야했다. 어떤..

1,2,3 번 수포자가 찍는 방식 때문에 코드의 길이가 길어진 문제이다. 수포자 1번은 그냥 12345 12345 로 찍기 때문에 i%5 로 간단히 풀 수 있지만 수포자 2번은 21 23 24 25 21 23 24 25 수포자 3번은 33 11 22 44 55 33 11 22 44 55 의 순으로 가기때문에 조건 체크를 한번씩 더 해줬어야했다. 2번은 i 가 0 부터 시작하므로 i & 1 이 false라면 무조건 2를 넣어주었고 true 라면 i % 8을 해서 나온 나머지를 switch 문으로 분기를 나누어줬다. 3번또한 i%10 을 한 값에 / 2 를 하여 나온 값들을 가지고 switch 문으로 i 별 학생의 정답을 구했다. #include #include #inc..

더 효율적인 코드가 있겠지만 가장 이해하기 쉽고 간단하게 풀었다. 나는 그냥 모든 명함을 가로가 더 길게 정렬한 뒤 max값을 도출했다. 세로가 가로보다 더 길면 명함을 회전한 뒤에 width와 height를 찾는다. #include #include using namespace std; int solution(vector sizes) { int answer = 0; int width = 0; int height = 0; for(int i=0; i< sizes.size(); i++) { if(sizes[i][0] < sizes[i][1]) // 가로보다 세로가 길 경우 turn { int widthSize = sizes[i][1]; sizes[i][1] = sizes[..
- Total
- Today
- Yesterday
- Unreal 5.1
- 프로그래머스
- 채팅서버
- 재귀
- Ue
- UE5
- LV2
- BFS
- IMGUI
- 고득점 Kit
- level3
- 정렬
- 누적합
- 너비우선탐색
- DFS
- 탐욕법
- sort
- 데디케이티드
- 개인공부
- LV3
- 고득점kit
- 해시
- Heap
- 스택/큐
- FPS
- greedy
- 디자인 패턴
- C++
- 완전탐색
- 힙
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |