인프런 커뮤니티 질문&답변

최용석님의 프로필 이미지
최용석

작성한 질문수

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

1-C

2979 질문 있습니다!

작성

·

331

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

 

 

2979번 문제 정답 교안으로 공유해주신 코드의,
맨 아래 for문에서

for(int j = 1; j < 100; j++)
코드 부분이 잘 이해가 가지 않습니다!
시간이 1 ~ 100 사이 값이 들어온다고 하는데
위의 반복문에서는 1 ~ 99번째 까지만 순회하며 주차요금을 정산하지 않나요?

부등호가 <= 가 아니라 < 기호가 들어가는지 이유가 궁금합니다ㅠ

답변 2

1

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요 용석님 ㅎㅎ

for(int j = 1; j < 100; j++)
코드 부분이 잘 이해가 가지 않습니다!
시간이 1 ~ 100 사이 값이 들어온다고 하는데
위의 반복문에서는 1 ~ 99번째 까지만 순회하며 주차요금을 정산하지 않나요?

>> 문제를 잠깐 보면

도착한 시간과 주차장에서 떠난 시간이다. 도착한 시간은 항상 떠난 시간보다 앞선다. 입력으로 주어지는 시간은 1과 100사이 이다.

이렇게 되어있죠.

시간으로 1 100이라고 했을 때 1이상, 100미만으로 처리를 해야하기 때문에 1부터 ~ 100 미만으로 처리를 하는게 맞습니다.

어떤 구간이 주어지면 이상, 미만으로 설정한다고 생각하시면 될 거 같아요.

이게 왜 그러냐면요.

간단하게 생각하면 우리가

3시부터 4시까지 몇시간이야? 라고 했을 때 1시간이라고 하잖아요.

이거를 3시를 포함하고 4시를 포함해서 4 - 3 + 1을 하지는 않죠.

4 - 3을 통해 1시간을 추출해내죠?

그런 것처럼 구간은 이상과 미만이라고 생각하시면 됩니다.

 

강사님이 공유해주신 코드는 도착한 시점 ~ 떠나기 1분 이전으로 값을 계산해서 j < 100 이라는 부등호가 나오는걸까요?

>> 네 맞습니다. 이상 미만입니다.

 

또 질문 있으시면 언제든지 질문 부탁드립니다.

좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)

감사합니다.

강사 큰돌 올림.

0

최용석님의 프로필 이미지
최용석
질문자

제가 이해한게 맞다면....

저같은 경우는 차량이 도착한 뒤의 1분 이후 부터 주차요금을 정산하기 시작했는데,

강사님이 공유해주신 코드는 도착한 시점 ~ 떠나기 1분 이전으로 값을 계산해서 j < 100 이라는 부등호가 나오는걸까요?

실제로 차량이 i번째 시간이 몇대 있었는지 카운팅 하는 로직에서도 a ~ b-1번째 까지만 증감 연산자로 늘려주는 부분이 있어서... 제가 정확하게 이해한게 맞는지 궁금합니다!

 

최용석님의 프로필 이미지
최용석

작성한 질문수

질문하기