목록Java (116)
Hayden's Archive
알고리즘 문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/12932 코딩테스트 연습 - 자연수 뒤집어 배열로 만들기 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 제한 조건 n은 10,000,000,000이하인 자연수입니다. 입출력 예 n return 12345 programmers.co.kr 내가 작성한 코드 먼저 long형으로 입력되는 인자값 n을 String형으로 바꿔줘서 temp라는 이름을 부여했다. 그 문자열 길이만큼 answer라는 int[] 배열을 생성했고 temp의 마지막 인덱스값부터 출발, answer는 0번째 인덱스값부터 출발하여 tem..
알고리즘 문제 출처 : 프로그래머스 https://programmers.co.kr/learn/courses/30/lessons/12918 코딩테스트 연습 - 문자열 다루기 기본 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 a234이면 False를 리턴하고 1234라면 True를 리턴하면 됩니다. 제한 사항 s는 길이 1 이�� programmers.co.kr 내가 작성한 코드 방법이 따로 생각나지 않아서 s가 8이하인 문자열이라는 제한 사항을 보고 그냥 char형 배열을 만들고 문자열을 charAt()로 한 글자씩 뽑아내서 비교대조하였다. class Solution { public boolean solution(String s..
알고리즘 문제 출처 : 프로그래머스 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 ..