목록분류 전체보기 (282)
Hayden's Archive
알고리즘 문제 출처 : 프로그래머스 https://programmers.co.kr/learn/courses/30/lessons/12933 코딩테스트 연습 - 정수 내림차순으로 배치하기 함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. 제한 조건 n은 1이�� programmers.co.kr 내가 작성한 코드 long형을 String형으로 바꿨고 long[] 배열을 임시로 만들어 거기에 substing을 통해 n번씩 잘라진 String형을 다시 long형으로 바꾸어 넣었다. 그리고 Arrays 클래스의 sort() 메소드로 오름차순으로 정렬하였고(이 클래스에 내림..
알고리즘 문제 출처 : 프로그래머스 https://programmers.co.kr/learn/courses/30/lessons/12950 코딩테스트 연습 - 행렬의 덧셈 행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요 programmers.co.kr 내가 작성한 코드 2차원 배열과 관련된 문제이다. 2차원 배열의 구조에 대해 이해하고 있다면 어렵지 않게 풀 수 있는 문제. class Solution { public int[][] solution(int[][] arr1, int[][] arr2) { int[][] answer = new int[..
알고리즘 문제 출처 : 프로그래머스 https://programmers.co.kr/learn/courses/30/lessons/12940 코딩테스트 연습 - 최대공약수와 최소공배수 두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 programmers.co.kr 내가 작성한 코드 예외가 터져서 throws로 던졌는데 계속 에러가 나서 try~catch문으로 잡았더니 잡혔다. n과 m 중 0이 주어졌을 때 0으로 나누게 되어 터지는 ArithmeticException이었다. 경우를 1) 한 수가 다른 수의 최대공약수인 경우 2) 한 수와 다른 수의 최대공..
알고리즘 문제 출처 : 프로그래머스 https://programmers.co.kr/learn/courses/30/lessons/12934 코딩테스트 연습 - 정수 제곱근 판별 임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함� programmers.co.kr 내가 작성한 코드 먼저 Math.sqrt() 메소드를 활용하여 n의 제곱근을 구해서 int형과 double형이 일치하는지 확인했다. 제곱근이 정수라면 두 타입이 서로 값이 일치할 것이기 때문이다. 그리고 Math.pow()를 사용해서 제곱근+1을 제곱한 값을 구했고 long형으로 캐스팅했다. 새..
알고리즘 문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/12931 코딩테스트 연습 - 자릿수 더하기 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 제한사항 N의 범위 : 100,000,000 이하의 자연수 입출 programmers.co.kr 내가 작성한 코드 import java.util.*; public class Solution { public int solution(int n) { int answer = 0; double num = 0; String mStr = n+""; for(int i = m..
알고리즘 문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/12954 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내가 작성한 코드 첫번째 값이 x이고 공차가 x인 등차수열과 관련한 문제이다. 등차수열 식만 알고 있으면 간단하게 풀 수 있는 문제. class Solution { public long[] solution(int x, int n) { long[] answer = new long[n]; answer[0] = x; for(int i = 0; i < answer.length-1; i++){ ..
알고리즘 문제 출처 : 프로그래머스 https://programmers.co.kr/learn/courses/30/lessons/12969 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내가 작성한 코드 최대한 for문을 덜 돌릴 방법을 생각했다. a*b+(b-1) 길이의 char[] 배열을 인자로 String 타입을 만들었고 빈 공간을 *로 일단 다 채웠다. 그 뒤 줄바꿈을 해줄 지점을 생각했고 문자열의 (a+1)*i-1번째 위치마다 줄바꿈을 해줘야겠다는 생각이 들었다. String 타입을 다시 char[] 배열로 바꿨고 해당되는 인덱스마다 '\n'을 저..
알고리즘 문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/12906 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내가 작성한 코드 방법이 생각나지 않아서 일단 ArrayList에 담은 후 담은 값을 int[] 배열에 다시 담는 코드를 짰다. import java.util.*; public class Solution { public int[] solution(int []arr) { ArrayList anList = new ArrayList(); anList.add(arr[0]); for(int i ..
알고리즘 문제 출처 : 프로그래머스 https://programmers.co.kr/learn/courses/30/lessons/12916 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내가 작성한 코드 처음에는 String을 toLowerCase()를 통해 소문자로 모두 바꾸고 toCharArray()로 char[] 배열로 바꿨다. 그 뒤 char형을 String형으로 바꿔서 문자 "p"와 문자 "y"와 비교하였고 각각 countP와 countY에 저장하여 수를 비교해서 풀었다. class Solution { boolean solution(String s..
알고리즘 문제 출처 : 프로그래머스 https://programmers.co.kr/learn/courses/30/lessons/12903 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내가 작성한 코드 일단 String 타입 s의 길이를 구하여 길이의 반을 버림하고 리턴 타입이 double이므로 그 값을 int형으로 캐스팅한 후 half로 저장했다. 그 뒤 String 클래스의 charAt() 메소드를 사용하여 index 위치에 따른 value를 뽑아내서 char 타입 배열에 저장했고 이를 String 클래스의 생성자 인자값으로 받아서 answer에 저장..