(Python) 수직 곱셈 공식 구현

백준이 무슨 공부라도 하려고 켰는데…

Solve Step-by-Step이라는 카테고리가 있어서 파이썬 기초를 탄탄히 다지는 취지로 차근차근 풀었습니다.

그러나 나는 몰랐다. 내가 1페이즈에서 막히는 무서운 능력자라는 걸…


백준 문제 #2588

문제는 수직 곱셈 방정식을 구현하는 것이 었습니다.

(1), (2)는 입력값이고 (3), (4), (5), (6)은 출력값이다.

먼저 입력을 int로 받고 (2)를 자릿수로 나누고 (1)을 for 문으로 곱하여 구현하려고했습니다. 결국 (1)과 (2)를 곱했을 뿐이라 머리가 쉬웠다.

하지만…


아이 정말

공유하는 방법을 알 수 없었습니다. 분명 헤어지기만 하면 되지만, 머리가 하얗게 될 때 생각나는 건 이거밖에 없었다.

차근차근 다 풀지는 못하더라도 구글에 파이썬 자수분리를 검색해서 백준에서 길고 멋진 알고리즘을 풀면 되겠다 생각했다. (검은 쓰레기 광대)

(숫자 구분)


그것이 내가 찾은 방법입니다. 작업은 목록을 만들고 x를 10으로 나눈 다음 나머지를 목록에 직접 삽입하여 하나씩 구분하는 것이었습니다. 목록과 나머지 연산만 생각했다면 더 쉬웠을 방법을 찾고 있었습니다. (이제 알았으면 좋겠지만 너무 부끄럽다)

구분된 숫자도 목록에 포함되었기 때문에 이제 세로 곱셈 표현을 구현하는 것이 간편해졌습니다. (1)과 (2)를 입력으로 받아서 (2)를 숫자로 구분하여 출력하면 끝이다.

(첫 시도)



0이 뭐야

생각해보면 b는 숫자를 나눌 때 0이 된 후였습니다. 먼저 곱하고 나중에 출력하십시오.

(두 번째 시도)


곱셈 변수 이름 gob은 어떻게

야 성공

완전한! 지금은 그대로 백준에게 제출했다.


… 오류가 발생합니다. 다른 곳에서는 잘 됐는데 왜 여기만 그런 걸까요? 생각해보니 문득 예제입력 1의 복사버튼이 생각났습니다.


두줄이네요…

한줄이 아니라

두 줄로 나누어 입력하면 오류가 뜹니다. 어머나

(세 번째 시도)


이 코드와 함께 제출했으며 결과는 다음과 같습니다.


그게 답이야… 야호

블로그와 프로젝트를 만들고 나서 어려운 문제나 알고리즘이 있으면 풀어서 기록했어야 하는데 이렇게 기초적인 수학 같은 문제에 휘말리다니 너무 부끄럽네요… 시행착오나 생각의 과정을 이 형식으로 업로드합니다. 스터디 블로그 치고는 굉장한 재미도 느껴지지만 피할 수 없을 때 즐겨야 할 것 같아서 더 그런 것 같아요. 열심히 멋진 프로젝트를 할 수 있는 멋진 개발자가 되고 싶다. 저는 똥손이지만 최선을 다하겠습니다. 싸워라 싸워라