[프로그래머스 / Level 1] x만큼 간격이 있는 n개의 숫자 (파이썬)
·
알고리즘 공부/프로그래머스
📝 문제 > 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다 https://programmers.co.kr/learn/courses/30/lessons/12954 코딩테스트 연습 - x만큼 간격이 있는 n개의 숫자 함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요. programmers.co.kr 🎨 풀이 💡 첫번째 시도 = 성공 - 이 문제는 등차수열 문제였다. 공차와 첫째항이 모두 x인 등차수열이다. def solution(x, n): answer = [] answer.append..
[프로그래머스 / Level 1] 행렬의 덧셈 (파이썬)
·
알고리즘 공부/프로그래머스
📝 문제 > 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요. https://programmers.co.kr/learn/courses/30/lessons/12950 코딩테스트 연습 - 행렬의 덧셈 행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요 programmers.co.kr 🎨 풀이 💡 첫번째 시도 = 성공 - 이 문제는 행렬의 덧셈이였다. 처음에는 행렬의 곱셈과 헷갈려 조금 어려운 난이도라고 생각했는데 아니였다. 행렬의 덧셈은 같은 자리끼리 더하는 것이다. def solutio..
[프로그래머스 / Level 1] 핸드폰 번호 가리기 (파이썬)
·
알고리즘 공부/프로그래머스
📝 문제 > 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요. https://programmers.co.kr/learn/courses/30/lessons/12948 코딩테스트 연습 - 핸드폰 번호 가리기 프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자 programmers.co.kr 🎨 풀이 💡 첫번째 시도 = 성공 - 이번 문제는 전화번호 뒷 번호 4자리를 제외한 숫자를 다 *로 바꾸는 문제였다. def solution(phone..
[프로그래머스 / Level 1] 하샤드 수 (파이썬)
·
알고리즘 공부/프로그래머스
📝 문제 > 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요. ( x는 1 이상, 10000 이하인 정수 ) https://programmers.co.kr/learn/courses/30/lessons/12947 코딩테스트 연습 - 하샤드 수 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하 programmers.co.kr ..
[프로그래머스 / Level 1] 평균 구하기 (파이썬)
·
알고리즘 공부/프로그래머스
📝 문제 https://programmers.co.kr/learn/courses/30/lessons/12944 코딩테스트 연습 - 평균 구하기 정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요. 제한사항 arr은 길이 1 이상, 100 이하인 배열입니다. arr의 원소는 -10,000 이상 10,000 이하인 정수입니다. 입출력 예 arr programmers.co.kr 🎨 풀이 💡 첫번째 시도 = 성공 - 이 문제는 정수를 담고 있는 배열의 평균값을 구하는 문제다. def solution(arr): answer = sum(arr)/len(arr) return answer > (평균 = 총합 / 개수) 이 공식을 이용해서 sum으로 총합을 구하고, len으로 ..
[프로그래머스 / Level 1] 콜라츠 추측 (파이썬)
·
알고리즘 공부/프로그래머스
📝 문제 https://programmers.co.kr/learn/courses/30/lessons/12943 코딩테스트 연습 - 콜라츠 추측 1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측입니다. 작업은 다음과 같습니다. 1-1. 입력된 수가 짝수라면 2 programmers.co.kr 🎨 풀이 💡 첫번째 시도 - 이 문제는 콜라츠라는 사람이 추측한 내용을 코드로 옮기는 것이였다. 내용은 다음과 같다. 1-1. 입력된 수가 짝수라면 2로 나눕니다. 1-2. 입력된 수가 홀수라면 3을 곱하고 1을 더합니다. 2. 결과로 나온 수에 같은 작업을 1이 될 때까지 반복합니다. def solution(num): a..
[알고리즘] 백준 - 11653 소인수분해
·
알고리즘 공부/백준
문제 https://www.acmicpc.net/problem/11653 11653번: 소인수분해 첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다. www.acmicpc.net 설명 소인수 분해는 하나의 수를 소수의 곱으로 나타낸 것입니다. 예를 들면, 예제처럼 72는 2*2*2*3*3 으로 나타낼 수 있습니다. 이와 같이 2가 여러 번 나올 수 있으므로 2로 나누어질때까지 나누고, 그 후에 다른 소수로 넘어가는 방법을 채택해야 하는 게 좋습니다. 코드 import sys n = int(sys.stdin.readline()) while n != 1: for i in range(2,n+1): if n % i == 0: print(i) n = n // i break; 설명해보자면, 1. ..
[알고리즘 공부] - 목표세우기
·
알고리즘 공부
9월부터 백준 사이트를 통해 알고리즘 공부를 조금씩 하고 있었는데 어물쩡 넘긴 부분들이 많아서 처음부터 다시 차근차근 해보려고 한다. 아무래도 다른 사람들에게 설명하는 방법이 나에게도 도움이 되는 것 같아서 여기에 적어도 3일에 하나씩은 알고리즘 공부 글을 올릴 것이다. 오래 지속되지는 않을 수도 있지만 그래도 최대한 노력해봐야겠다. 파이팅~~