본문 바로가기

*Algorithm61

[programmers] 프로그래머스 Level1 최대공약수와 최소공배수(파이썬 Python) [programmers] 프로그래머스 Level1 최대공약수와 최소공배수 (파이썬 Python) * 문제출처 : 프로그래머스 코딩 테스트 연습, 알고리즘 문제 프로그래머스 Level1 최대공약수와 최소공배수 1) 문제 프로그래머스 최대공약수와 최소공배수 코딩테스트 연습 - 최대공약수와 최소공배수 두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 programmers.co.kr 2) 풀이 과정 유클리드 호제법을 이용하여 풀이 > 2020/10/13 - [* Algorithm/theory] - [Algorithm] 알고리즘 .. 2020. 10. 14.
[Algorithm] 알고리즘 : 유클리드 호제법(최대공약수 구하는 알고리즘) 유클리드 호제법 개념 최대공약수를 구하는 하나의 알고리즘(문제 해결 방식) ㄴHow? 큰 수를 작은 수로 나누어 나머지가 0이 되도록 만들어 주는 수가 최대공약수(GCD) 왜 나오게 됬을까? 일반적으로, 최대공약수를 구할 때에는 두 수 각각을 소인수 분해하여 공통된 소수를 찾으면 된다. 16 = 2 * 2 * 2 * 2 24 = 2 * 2 * 2 * 3 최대공약수 : 8 컴퓨터의 세계에서 두 수가 적을 때에 위의 방식은 정말 편하다. 하지만 엄청난 큰 수로 구하려고 한다면 어떻게 될까? (23123과 1231424 등) 엄청난 큰 수를 쪼개고 쪼개고 하게 된다면 시간적 소모가 크고, 메모리적 낭비가 발생할 수밖에 없다. (시간 대비 결과, 메모리 공간적 대비 결과가 낭비가 된다.) Ex) 1분이면 끝낼 .. 2020. 10. 13.
[programmers] 프로그래머스 Level1 시저 암호(파이썬 Python) [programmers] 프로그래머스 Level1 시저 암호 (파이썬 Python) * 문제출처 : 프로그래머스 코딩 테스트 연습, 알고리즘 문제 프로그래머스 Level1 시저 암호 1) 문제 프로그래머스 시저 암호 코딩테스트 연습 - 시저 암호 어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다. 예를 들어 AB는 1만큼 밀면 BC가 되고, 3만큼 밀면 DE가 됩니다. z는 1만큼 밀면 a가 programmers.co.kr 제한 조건 1. 공백 - > 공백 밀어도(n) 2. s 길이 result =.. 2020. 10. 10.
[programmers] 프로그래머스 Level1 이상한 문자 만들기(파이썬 Python) [programmers] 프로그래머스 Level1 이상한 문자 만들기 (파이썬 Python) * 문제출처 : 프로그래머스 코딩 테스트 연습, 알고리즘 문제 프로그래머스 Level1 이상한 문자 만들기 1) 문제 프로그래머스 이상한 문자 만들기 코딩테스트 연습 - 이상한 문자 만들기 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 programmers.co.kr 2) 풀이 과정 1.문자열의 개수만큼 반복 2. 제한 조건 "먼저" 기술 ㄴ1) 초기화 해줄 것 3. 카운트의 값을 기준으로 짝수이면 대문자 4. 카운트의 값이 홀수이면 소문자 아래의 풀이를 직접 손으로 적어나.. 2020. 10. 5.
[programmers] 프로그래머스 Level1 콜라츠 추측(파이썬 Python) [programmers] 프로그래머스 Level1 콜라츠 추측 (파이썬 Python) * 문제출처 : 프로그래머스 코딩 테스트 연습, 알고리즘 문제 * 소스 코드 및 정리한 내용의 저작권은 글쓴이에게 있습니다. 프로그래머스 Level1 콜라츠 추측 1) 문제 프로그래머스 콜라츠 추측 코딩테스트 연습 - 콜라츠 추측 1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측입니다. 작업은 다음과 같습니다. 1-1. 입력된 수가 짝수라면 2�� programmers.co.kr 2) 풀이 과정 1. num 이 1이 되면 그때의 카운팅(answer)을 return 한다를 초기 조건 설정(단, 반복 세팅 500 일 때 이 외에.. 2020. 9. 5.