본문 바로가기

Algorithm

(400)
[프로그래머스(Java)] 정수 내림차순으로 배치하기 - toString() toCharArray StringBuilder parseLong , Stream Level. 1 문제 함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. 제한 조건 - n은 1이상 8000000000 이하인 자연수입니다. 풀이 import java.util.*; class Solution { public long solution(long n) { String str = Long.toString(n); long answer = 0; char[] ch = str.toCharArray(); Arrays.sort(ch); str = new StringBuilder(new String(ch)).reverse().toString(); return Lon..
[프로그래머스(Java)] 하샤드 수 - Stream Level. 1 문제 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요. * 제한 조건 - x는 1 이상, 10000 이하인 정수입니다. 풀이 class Solution { public boolean solution(int x) { int y = x; int num = 0; while(y>0){ num += y%10; y/=10; } return x%num==0?true:false; } } 다른 풀이 class Solution { public boolean solution(int x..
[프로그래머스(Java)] 삼총사 - DFS Level. 1 문제 한국중학교에 다니는 학생들은 각자 정수 번호를 갖고 있습니다. 이 학교 학생 3명의 정수 번호를 더했을 때 0이 되면 3명의 학생은 삼총사라고 합니다. 예를 들어, 5명의 학생이 있고, 각각의 정수 번호가 순서대로 -2, 3, 0, 2, -5일 때, 첫 번째, 세 번째, 네 번째 학생의 정수 번호를 더하면 0이므로 세 학생은 삼총사입니다. 또한, 두 번째, 네 번째, 다섯 번째 학생의 정수 번호를 더해도 0이므로 세 학생도 삼총사입니다. 따라서 이 경우 한국중학교에서는 두 가지 방법으로 삼총사를 만들 수 있습니다. 한국중학교 학생들의 번호를 나타내는 정수 배열 number가 매개변수로 주어질 때, 학생들 중 삼총사를 만들 수 있는 방법의 수를 return 하도록 solution 함수..
[프로그래머스(Java)] 핸드폰 번호 가리기 - toCharArray() String.valueOf() toString() , 여러 replace() Level. 1 문제 풀이 class Solution { public String solution(String phone_number) { String answer; // 주어진 문자열을 문자 어레이로 변환 char[] ch = phone_number.toCharArray(); for(int i=0; i> .(?=.{4}) : 맨 뒤 4자리 숫자를 제외하고 임의의 문자 하나를 선택한다. replace() , replaceAll() , replaceFirst() replace(찾을문자열, 바꿀문자열) : 변경하고자 하는 문자열을 찾아 치환한다. replaceAll(정규식 또는 기존문자, 대체문자) : 문자열에서 특정 문자를 다른 문자로 전체 치환한다. 정규식을 사용하지 않으면 replace와 동일하다. r..
[프로그래머스(Java)] 행렬의 덧셈 Level. 1 문제 풀이 class Solution { public int[][] solution(int[][] arr1, int[][] arr2) { int row = arr1.length; int cell = arr1[0].length; int[][] answer = new int[row][cell]; for(int i=0; i
[프로그래머스(Java)] 소수 만들기 Level. 1 문제 풀이 import java.lang.Math; class Solution { public boolean sosu(int num){ for(int i=2; i
[프로그래머스(Java)] 소수찾기 Level. 1 문제 1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요. 풀이 class Solution { public int sosu(int n){ int count = 0; boolean flag ; for(int i=2; i
[프로그래머스(Java)] 문자열 다루기 기본 / isDigit(), parseInt() Level.1 문제 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼 있는지 확인해 주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다. 풀이 class Solution { public boolean solution(String s) { if( s.length() != 4 && s.length() != 6) return false; for(int i=0; i parseByte() / parseShort() / parseInt() / parseLong() / parseFloat() / parseDouble() https://school.programmers.co.kr/learn/courses/30/lessons/12..