smooth waters run deep

1d-1c/BOJ

[백준] 1051_숫자정사각형 (Silver3) (C++)

yeon_11 2020. 4. 26. 18:23

어떻게 하면 더 똑똑하게 풀 수 있을까 고민했는데 bruce force 방법 뿐이었다.

 

문제 해결에 필요한 부분은 진작에 완성했는데 계속 '틀렸습니다!'가 떠서.. '맞았습니다!'까지 한참 걸렸다.

이유는 입력받는 데에 문제가 있다는 걸 캐치하지 못했기 때문!!

"C++에서 제공하는 정수형으로는 길이 50의 정수를 입력받을 수 없습니다.

 일단 문자열로 입력받은 후에 직접 원하는 타입으로 가공해야 합니다." 라는 게시판 속 해결사 댓글을 보고 드디어 '맞았습니다'

(코드 속 12-17 부분) 문제에서 일부러 50까지 입력을 받으려고 했나하는 생각이 들었다. 나한테는 무시무시한 함정이었다..

 

** 잊지말자 !!

문자열 -> 숫자 문자 - '0'
숫자 -> 문자열 숫자 + '0'

 

**코드짜면서 생각했던 부분

1. 출력 최소값은 1이다. (1X1경우) -> int pre_ans = 1;

2. N,M 둘 중 작은 값 = 정사각형 길이의 최댓값 -> int num = min(N,M);

3. k=0으로 설정했기 때문에, 정사각형 크기를 구하기 위해서는 k+1의 제곱으로 구해줘야 한다.

'1d-1c > BOJ' 카테고리의 다른 글

2908_상수 (C++)  (0) 2020.08.26
1157_단어 공부 (C++)  (0) 2020.08.25
10809_알파벳 찾기 (C++)  (0) 2020.08.25
4673_셀프 넘버 (C++)  (0) 2020.08.24
8958_OX퀴즈 (C++)  (0) 2020.08.17