본문 바로가기

개발관련/TIL

2024-03-18

알고리즘 파트

 

문제

두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수를 작성하기

 

최대 공약수 구하기

1. 두 수를 각각 소인수 분해한다.
2. 서로 겹치는 소인수를 구한다.
3. 구한 소인수의 곱을 구한다.


최소공배수 구하기
1. 두 수를 각각 소인수 분해한다.
2. 최대 공약수를 구한다.
3. 두 수를 곱한 후 최대공약수로 나눈다.

 

위 과정을 통해서 두 수를 구했지만 구현하는 과정에서 복잡한 경우가 많았다.

최대공약수 구하는 방법을 찾아보니 유클리드 호제법이라는 것이 있었다. 

--> 정리 (https://hifumialice.tistory.com/6)

 

문제

이상한 문자 만들기

문자열을 받고 각 단어는 1개 이상의 공백문자로 구별되어 있다.

각 단어의 짝수번째 자리는 대문자, 홀수번째 단어는 소문자로 출력한다.

 

공백으로 문자를 나눈 후 단어의 자리수에 맞춰 대문자 소문자를 출력했으나 몇개가 틀렸다.

이유를 찾아보니 단어가 "1개 이상"의 공백문자로 나뉘기 때문이였다.

예) "  cake lemon   apple    "

정답) "   CaKe LeMoN   ApPlE    "

위와같이 바꿔야 했기때문에 공백으로만 단어를 나누면 안됐던 것

공백문자가 몇개가 되든 그대로 출력하고 각 단어의 인덱스에 따라서 대 소문자로 변경해야했다.

'개발관련 > TIL' 카테고리의 다른 글

2024-03-21  (0) 2024.03.21
2024-03-20  (1) 2024.03.20
2024-03-19  (1) 2024.03.19
2024-03-13  (1) 2024.03.13
2023-03-12  (0) 2024.03.13