백준 13241번 최소공배수 C#으로 문제 풀어보기
안녕하세요 박민성입니다.
오늘은 백준 13241번 최소공배수를 풀어보겠습니다.

문제를 보면
입력은 한 줄로 두 정수가 공백으로 분리되어 주어 줍니다.
출력은 두 수의 최소공배수를 출력합니다.

일단 int 배열을 만들고 Array.ConvertAll() 메서드를 사용합니다
Arrat.ConvertAll()은 string []을 적고 , (쉼표)를 뒤에 (자료형). Parse을 붙여서
(자료형)[] 형태로 배열 전체를 바꿔주는 메서드입니다.
그리고 Console.ReadLine(). Split(' ')은 일단 Console.ReadLine()은
콘솔창으로 입력을 받는 코드이고 Split은 자른다는 뜻입니다.
Split메서드 안에 문자를 쓰면 그 문자 기준으로 string을 잘라서 string[]에 담습니다.
지금은 공백이기 때문에 띄어쓰기 기준으로 잘려서 string[]안에 담습니다.
그리하여 입력 값을 변수 a와 b로 쓰기 편하게 만들어줍니다.
이 문제를 보고 어떻게 풀어야 할까 생각을 해봤을 때
저는 배수를 구할 때 자기 자신의 수를 더 했을 때 2배가 되니깐(예: 12이면 12 + 12 = 24)
a와 b를 비교하여 만약 a가 작다면 a에 2를 곱해주고 b가 작다면 b에 2를 곱해주어서 만약 같다면
그것이 최소공배수라고 생각했습니다.

하지만 이러니 12가 입력이 들어온다면 12 -> 24-> 48이 됩니다(36도 배수인데) 왜냐하면 12를 더해준 것이 아닌 12를 더한 값에서 자기 자신을 더해주었기 때문입니다 그래서

초기 값을 담아줄 변수 A, B를 선언하고

코드를 이렇게 수정하였습니다.
그리고 실수가 한 개 더 있습니다. 문제를 보면 입력이 커서 자료형을 long을 써야 됩니다.

이것이 전체 코드입니다. 이렇게 백준에 제출하였더니

정답이었습니다.