inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

1-O

1-O 코드 질문입니다.

198

yudility

작성한 질문수 7

0

안녕하세요 큰돌님! 강의 재미있게 잘 듣고 있습니다 ㅎㅎ
1-O번을 혼자 풀어서 맞추긴 했는데... 큰돌님 풀이 방식이랑은 좀 다르기도 하고, while문을 중첩해서 쓴 게 시간복잡도 때문에 마음에 걸려서요.

- 코드 : http://boj.kr/a5eb7d7c669c408882d3004546fb537d

저 같은 경우는 아래와 같은 방식으로 생각하고 구현하였습니다.
1. 입력범위를 먼저 보고 ( 1 <= n <= 10000)
2. 1, 11, 111, 1111을 제외하고는 맨 뒷자리가 1이 나오는 n의 값은 3, 7, 9 밖에 없다는 걸 깨달음
3. 나눗셈을 할때 나머지에 10을 곱해서 다음 자리수에 더해 다시 나눠서 계산하는 방식을 차용. 다시 말해 나눗셈을 할 때, 윗자리부터 몫과 나머지를 구하고, 나머지를 윗자리 몫을 구하고 남은 나누어지는 수에 더해서 다시 나누는 방식을 사용하기로 함. (배수이면 언젠간 나누어 떨어지므로)
4. 코드상으로 시간 복잡도는 좋지 않아보이지 않았지만, 주어진 범위내에서는 111...11 자리수가 20이 넘어가더라도 한번의 테스트 케이스에서 대략 20번만 수행하면 되므로 그대로 구현해보았음.

혹시 이런 경우에 테스트 케이스를 맞췄더라도, 시간 복잡도를 고려해서 더 나은 방법을 고민해보는게 좋을까요?

c++ 코딩-테스트

답변 1

1

큰돌

안녕하세요 ㅎㅎ

와 생각 괜찮게 잘하셨네요 ㅎㅎ

 

혹시 이런 경우에 테스트 케이스를 맞췄더라도, 시간 복잡도를 고려해서 더 나은 방법을 고민해보는게 좋을까요?
>> 테케가 아니라 제출 -> 성공 했을 때는 다른 방법에 대한 공부를 그렇게까지 많이 할 필요는 없습니다.

다만 제 해설을 보시고 아 이렇게도 풀 수 있구나~ 라고 생각하고 한번정도 공부하시는 것도 좋습니다.



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

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

감사합니다.

강사 큰돌 올림.

0

yudility

감사합니다!

채점서버 연결 관련 질문입니다

0

9

0

삼성 s직군

0

9

0

삼성 코테 없어짐

0

52

1

코딩살구클럽 가입부탁드립니다

0

35

2

코딩살구클럽 가입 요청 확인부탁드립니다

0

33

2

5-S 테스트 케이스 질문

0

37

2

코살 문제풀이 환경

0

49

2

2 - T 오큰수 문제가 있는 것 같습니다.

0

43

1

추천 추가문제들

0

44

2

프로그래머스 코테 환경 관련해서 질문드립니다.

0

49

2

해당 문제에 대한 채점이 코딩살구클럽에서 올바르게 처리되지 않습니다.

0

44

2

균형 이진 트리 설명 시 높이 숫자

0

33

2

4-H 질문드립니다.

0

37

2

1-K 질문드립니다.

0

43

2

대기업 인적성 시험 질문

0

43

2

4-C 질문드립니다

0

43

2

[수학숙제 / BOJ 2870] 채점 서버 오작동

0

40

1

코테 준비 질문

0

53

1

살구클럽가입 요청드려요

0

41

2

1-I 문제 질문

0

46

2

코딩살구클럽 가입

0

59

2

AI 코딩 도구 사용 시 학습 방법 조언

0

56

2

코딩살구클럽 오류

0

65

2

코살클 [3-F 괄호 추가하기] 프라이빗 9번 제보

0

51

1