일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 자바
- Java
- 인강리뷰
- 인코딩
- 알고리즘
- 카카오톡1차
- Eclipse
- 공부
- JPA
- 디자인패턴
- javascript
- 인프런
- 독서리뷰
- Head First Design Pattern
- Oracle
- 매핑
- 프로그래머스
- study
- 독서
- spring
- 후기
- 회고
- 람다
- Singleton
- 오라클
- math
- 이펙티브자바
- Design Pattern
- 에러
- 우아한테크코스
- Today
- Total
목록알고리즘/프로그래머스 (35)
Lee's Grow up
문제 설명 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8 = 9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수 solution을 완성해주세요. 제한 조건 x는 1이상, 10000 이하인 정수입니다. 입출력 예 arr return 10 true 12 true 11 false 13 false 입출력 예 설명 번째 입출력 예 - 10의 모든 자릿수의 합은 1입니다. 10은 1로 나누어 떨어지므로 10은 하샤드 수입니다. 번째 입출력 예 - 12의 모든 자릿수의 합은 3입니다. 12는 3으로 나누어 떨어지므로 12는 하샤드 수입니다. 번째 입출력 예 - 11의 모든 ..
문제 설명 프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 * 으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요. 제한 조건 s는 길이 4 이상, 20이하인 문자열입니다. 입출력 예 phone_number return "01033334444" "*******4444" "027778888" "*****8888" 나의 풀이 class Solution { public String solution(String phone_number) { String tempPhoneNumber = phone_number.substring(phone_numb..
문제 설명 행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요. 제한 조건 행렬 arr1, arr2의 행과 열의 길이는 500을 넘지 않습니다. 입출력 예 arr1 arr2 return [ [1,2], [2,3] ] [ [3,4], [5,6] ] [ [4,6], [7,9] ] [ [1], [2] ] [ [3], [4] ] [ [4], [6] ] 나의 풀이 class Solution { public int[][] solution(int[][] arr1, int[][] arr2) { int[][] answer = new int[arr1.length]..
문제 설명 함수 solution은 정수 x와 자연수 n을 입력 받아, x 부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요. 제한 조건 x는 -10,000,000 이상, 100,00,000 이하인 정수입니다. n은 1,000 이하인 자연수입니다. 입출력 예 x n return 2 5 [2,4,6,8,10] 4 3 [4,8,12] -4 2 [-4,-8] 나의 풀이 class Solution { public long[] solution(int x, int n) { long[] answer = new long[n]; answer[0] = x; for (int i = 1; i < answer.length; i+..
문제 설명 이 문제에서 표준 입력으로 두 개의 정수 n과 m이 주어집니다. 별 ( * ) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요. 제한 조건 n과 m은 각각 1000 이하인 자연수입니다. 예시 입력 ( n , m ) 5, 3 출력 ***** ***** ***** 나의 풀이 import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a = sc.nextInt(); int b = sc.nextInt(); for(int i = 0; i < b ; i ++ ){ for(int j = 0; j <..
문제 길이가 n이고, "수박수박수박수..."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요, 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다. 제한 조건 n은 길이 10,000이하인 자연수입니다. 입출력 예 n return 3 "수박수" 4 "수박수박" 나의 풀이 class Solution { public String solution(int n) { StringBuilder sb = new StringBuilder(); for (int i = 0; i < n; i++) { sb = (i%2 ==0 ? sb.append("수") : sb.append("박")); } return sb.toString(); } }
문제 1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요. 소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다. (1은 소수가 아닙니다. ) 제한 조건 n은 2이상 1000000이하의 자연수입니다. 입출력 예 n result 10 4 5 3 입출력 예 설명 입출력 예 #1 1부터 10 사이의 소수는 [ 2, 3, 5, 7 ] 4개가 존재하므로 4를 반환 입출력 예 #2 1부터 5 사이의 소수는 [ 2, 3, 5 ] 3개가 존재하므로 3을 반환 나의 풀이 class Solution { public int solution(int n) { int cnt = 0; int[] number = new int[n+1]; for(int i = 2; i
문제 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 잇어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다행히 지도 암호를 해독할 방법을 적어놓은 메모도 함께 발견했다. 지도는 한 변의 길이가 n인 정사각형 배열 형태로, 각 칸은 " "(공백) 또는 "#"(벽) 두 종류로 이루어져 있다. 전체 지도는 두 장의 지도를 겹쳐서 얻을 수 있다. 각각 "지도 1"과 "지도 2"라고 하자, 지도 1 또는 지도 2 중 어느 하나라도 벽인 부분은 전체 지도에서도 벽이다. 지도 1과 지도 2에서 모두 공백인 부분은 전체 지도에서도 공백이다. "지도 1"과 "지도 2"는 각각 정수 배열로 암호회되어 있다. 암호화된 배열은 지도의 각 가로줄에서 벽 ..