일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- readingbook
- 코테
- STUDYENGLISH
- the midnight library
- 코테 준비
- 코딩테스트
- 백준
- 쉬운 알고리즘 문제
- dfs
- 프로그래머스
- MySQL
- PyQt
- sw expert
- BFS
- 원서읽기
- English
- 알고리즘 문제
- 완전탐색
- 알고리즘
- 코테 대비
- 원서읽자
- 원서
- 직무면접
- englishbook
- nightroutine
- D4
- sw expert academy
- 삼성
- SQL
- swexpertacademy
- Today
- Total
목록알고리즘 (105)
시나브로
주사위를 하드코딩하지 않고 구현을 하고자 하였지만... 포기하고 주사위 돌리면서 하드코딩했습니다. Solution change함수를 통해 주사위를 돌리고, 주사위의 위치를 변경해줍니다. 단 여기서 주사위 위치의 범위를 체크해줍니다. 범위에 벗어나지 않으면, 주사위에 값을 복사하고 맞은편값을 프린트해줍니다. Key Point 주사위를 굳이 규칙을 차지 말자.... 하드코딩해도 길지 않다!! 직접 주사위를 가지고 돌려가며 인덱스를 확인하면 쉽게 주사위를 돌릴 수 있습니다! #include #include #include #include #include #include using namespace std; #define INF 10000000 int dice[6] = { 0 }; int X=0, Y=0; in..
하드코딩으로 풀다가 예제는 다 맞는데 틀려서 결국 타블로그를 참조해서 해결하였습니다. Solution 모든 방향에서 위/아래/오른쪽/왼쪽으로 기울이는 경우를 생각한다/ 기울인 결과값을 queue에 push한다. push한 결과값을 불러와 다시 연산한다. check함수로 방문했는지 확인하고 방문했으면 push하지 않고 끝낸다. 그 이유는 그 값이 queue에 들어가 있기 때문이다. - 바로 d를 출력하고 멈춘 이유는 무조건 큐의 앞부분에 d가 작은 값이 위치하기 때문에 가장 먼저 찾은 값이 최솟값이 되기 때문입니다. Key Point 저는 예제7번을 이해하지 못해 어려움이 있었습니다. 한 방향으로 기울일 때, 빨간 구술이 구멍에 들어간 경우에도 파란 구술이 구멍에 들어가면 fail입니다. 재귀호출을 구현하..
Solution 총감독관은 필수적이기 때문에 배치한다 이에 따른 answer값과 space(고사장별 응시자 수를 저장하는 vector 변수)값을 연산해준다. 이후 남은 응시자수를 C로 나눈 몫이 부감독관의 수이기 때문에 연산을 해준다 단, 여기서 유의점은 몫이 나눠어 떨어지지 않을 경우, 부감독관이 한명 더 필요하다는 것이다. Key Point answer 변수형태를 long long으로 해야한다. 시험장 개수가 1000000개이며, 시험장별로 최대 응시자 수도 1000000이기에 long long 변수형태를 이용해야된다. 이를 사용하지 않을 경우, 바로 틀렸습니다가 뜬다 유의하길. 또한, 총감독관의 수를 뺀 이후 응시자의 값이 음수가 될 수 있음을 유의하라. #include #include #inclu..
이 문제는 전형적인 DP 문제입니다. 하지만, DP에 약한 저는 타블로그를 참고하여 포인트를 얻었습니다. ㅠㅜ Solution 문제를 읽어보면, 2가지의 규칙을 찾을 수 있습니다. 침공당한 도시의 인접한 도시는 침공할 수 없다. -> 침략을 하면 무조건 한칸은 뛰어야한다. 도시는 침공 당한 도시와 당하지 않는 도시로 나뉘어진다. 이 두가지 규칙을 가지고 DB식을 세울 수 있습니다. DB[i] = max(DB[i-1],DB[i-2]+problem[i]); DB[i]는 i-1번째 도시까지의 max값(DB[i-1])이랑 i-2번째 도시를 방문하고 i번째의 도시를 방문하는 값(DB[i-1]+problem[i])을 비교하여 더 큰값을 가지면 됩니다. Key Point 왜인지 모르겠지만, 타임오버가 났다. 이를 해..