안녕
-
프로그래머스 - 최대공약수와 최소공배수알고리즘 2022. 1. 31.
내 풀이 - 자바 class Solution { public int[] solution(int n, int m) { int [] answer = new int[2]; answer[0] = gcd(n, m); answer[1] = (n*m) / answer[0]; return answer; } public static int gcd(int a, int b) { if(b == 0) { return a; } else { return gcd(b, a%b); } } } 최대공약수(gcd) 최소공배수(lcm) 을 구하기 위해서 유클리드 호제법 알고리즘을 사용했다. (재귀 호출 사용) 최대공약수 GCD(Greatest Common Divisor) 최대공약수는 두 자연수의 공통된 약수 중 가장 큰 수를 의미한다. ex..
-
프로그래머스 - 피보나치 수알고리즘 2022. 1. 26.
내 풀이 - 자바 (이건 n번째 피보나치 수를 구하는 코드) import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class test01 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); int f[] = new int[n+1]; for(int i=0; i
-
프로그래머스 - 하샤드 수알고리즘 2022. 1. 25.
내 풀이 - 파이썬 def solution(x): answer_sum = sum(map(int, str(x))) # if x % answer_sum == 0: # answer = True # else: # answer = False answer = True if x % answer_sum == 0 else False return answer solution(10) 하샤드 수를 구하기 위해서 내가 알아야 하는 2개의 값은 매개 변수 x = 이건 이미 주어지니까 패스 각 자리수의 합 = 이걸 구하기 위해서 map의 sum 기능을 활용 그리고 마지막으로 if else 문이나 if else 삼항식으로 조건으로 True False 검사를 하면 된다. 다른 사람 풀이 공부 - 파이썬 def Harshad(n): #..
-
프로그래머스 - 핸드폰 번호 가리기알고리즘 2022. 1. 25.
내 풀이 - 파이썬 def solution(phone_number): answerLen = len(phone_number) answer1 = len(phone_number[0:answerLen-4]) answer2 = phone_number[-4:] answer = answer1 * "*" + answer2 return answer 문자열 자르기와 문자열 합치기만 할 줄 안다면 쉬웠던 문제 다른 사람 풀이 공부 - 파이썬 def hide_numbers(s): return "*"*(len(s)-4) + s[-4:] # 아래는 테스트로 출력해 보기 위한 코드입니다. print("결과 : " + hide_numbers('01033334444')); return에서 한방에 한줄로 끝낸 모습 파이썬의 자동 형변환..
-
프로그래머스 - 행렬의 덧셈알고리즘 2022. 1. 21.
내 풀이 파이썬 def solution(arr1, arr2): answer = [] for i in range(len(arr1)): x = [] for j in range(len(arr1[0])): x.append(arr1[i][j] + arr2[i][j]) answer.append(x) return answer 배열의 길이를 이용해서 이중 for문으로 처리 각 배열의 총 크기만큼은 반복을 해야하니까 처음에는 arr1의 크기 만큼 반복 (arr1, arr2의 배열 크기는 어차피 같으니까 1이나 2 어느쪽으로 하던 상관 없음) 이제 합을 구해서 다시 배열에 넣어야 하니까 x라는 변수에 빈 방 생성 안에 for 반복문을 한번 더 넣어서 합 구하기 반복문 시작 한번 사이클에 j가 arr1[0] 의 크기 만큼 ..