| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- Unity
- unity게임만들기
- unity게임
- c++ 백준
- 백준 C++
- 리그오브레전드턴제게임
- solved class 2
- c#기본문법
- c#기초문법
- 바킹독
- c#
- 유니티
- 백준
- 티스토리챌린지
- 백준 구현문제
- unity3d게임만들기
- 백준 c++ 공부
- unity3dservival
- 백준코테
- c#코테
- C#문법
- 유니티서바이벌게임만들기
- 유니티게임만들기
- 오블완
- 유니티공부
- 백준코딩테스트
- c++ solved.ac
- C++
- 바킹독알고리즘
- c#코딩기초트레이닝
- Today
- Total
나 개발자 진짜 되냐?
코딩테스트 연습 - 기능 개발 ( ceil , 나눗셈 ) 본문

오늘은 28일!
5월 연휴 언제 오나..
한창 4월에 흐흐히히 기다렸는데..
벌써 5월 말이다..
뭔가 머릿속이 엄청 복잡하다.
공부를 해도 공부가 머리에 안 들어오는 느낌..
..
복잡하다.
그래서 뭐든 하나도 집중이 안되어서..
걱정이 많은 하루


예시를 들으니 이해가 갔다.
근데 이걸 도대체 스택이랑 큐를 통해서 어떻게 푸는 거지..?
인지 씨는 실버 3 - 4문제라고 했다.
못 푸는 거 보니..
..
나는 아직 그만한 실력이 아닌가 보다.
여하튼..
인지 씨 말로는
일단 프로그래머스에서 일을 하는데 얼마나 걸리는지 각각 구해보라고 했다.
93 30 55
7일 3일 9일
이렇게 말이다.
그 식은
두 가지로 구할 수 있다.
ceil
올림이다.
숫자를 무조건 올려주는 친구이다.
#include <cmath>
필요!!
대신 이 친구는 소수점을 알아야 하기 때문에
계산 식에 앞에 double를 써줘야 한다.
이미 double면 말고
그래서
int ans = ceil((double)(100 - progresses [i]) / speeds [i]);
이렇게 써야 한다.
자 다음으로
7 3 9인데
3은 7이 끝나기 전에 못 끝난다고 한다.
그래서 7일이 되어야 3이 끝나서
7일에 두 개가 끝나는 셈이 된다.
그리고 9 한 개
그래서 2 1 이 출력되는데..

내 마음대로 한번 짜봤다.
근데.. 음..
다 틀렸다..

코드의 문제점에 대해 많이도.. 말해줬다.
1. 예외
7 3 4 면?
사실 이건 7일이면 끝나야 해서 답이 1이 나와야 하는데
이렇게 되면 3과 4를 비교하게 되어..
1 1 이 된다는 것..
그럼 곤란하지..
그래서 max를 찾아야 한다고 한다.
2. 범위
왜 <= 응한 거냐??
왜냐면.. i < size 하니까 맨 끝이 안 나오길래..
for문이 완전히 끝나도 sum이 pb이 안되는 것..
왜냐면 우리가 sum을 push_back 해주고 다시 sum을 1로 바꾸기 때문에
결국 sum이 남는다.
그래서 마지막줄에 결국 또 push_back 해줘야 한다고..
max는 처음 친구로 설정해 두면? 편하다.

이렇게 해주면 된다!
전체 코드도!

중요한 건 이제부터!
ceil이 기억이 안 날 경우도 있고
아까 나누다 보면..
7/3 은 2.3333이라 2가 나오는데
사실 우린 3이 필요했다.
왜냐면 한 개라도 더 있으면 하루를 더 해야 하니까!
그래서 그 버림 성질을 역이용한 수학적 트릭이 있다고 한다.
( A + B -1 ) / B이다.
예전에 그 사과 달팽이..
그거 비슷한 거 같은데
예를 들면 A 70이고 B가 30이라고 치자.
원래식은 A / B라서.
2.3333... 근데 int는 버리니까 답이 2가 나온다.
하지만 우린 3이 나와야 한다.
30 30 하면 10이 남기 때문..!
그래서 B를 더해주고 -1을 해주는 것이다.
그러면 99 / 30 이여서
답이 3이 된다.
나머지 한 개라도 소중하게 필요할 때 쓰는 치트키 라고한다.
소수점 함수가 기억 안 날 때 써보자
근데 나는 ceil이 더 금방.. 생각날 거 같기도 하다..ㅎ

쉽지 않은 문제를 새벽에 풀었다.
고생했다.
'프로그래머스를 풀어보아요! > C++' 카테고리의 다른 글
| 코딩테스트 입문 - 안전지대 ( 2차원 배열 탐색 ) (0) | 2026.05.29 |
|---|---|
| 코딩테스트 입문 - 저주의 숫자 3 ( 숫자 쪼개기 ) (0) | 2026.05.27 |
| 코딩테스트 입문 - 세균 증식 ( pow, << ) (0) | 2026.05.26 |
| 코딩테스트 입문 - 영어가 싫어요 ( find, replace ) (0) | 2026.05.25 |
| 코딩테스트 입문 - 다음에 올 숫자 ( 가운데 숫자 ) (0) | 2026.05.22 |