분류 전체보기 130

[JAVA] 없는 숫자 더하기 - 프로그래머스

풀이 : 1. 처음은 재귀를 사용해서 없는것만 골라내자라는 마음에 풀었다가 OutofInedx 발생 2. 배열의 길이는 고정이니 전역변수로 사용하여 없는것만 골라내자고 생각했다가 마찬가지로 outofindex 발생 3. 마지막으로 다시생각해보니 배열의 길이가 정해져있음은 곧 총합은 무조건 45 numbers 의 합에서 빼면 답.. import java.util.Arrays; class Solution { public int solution(int[] numbers) { int answer = 0; answer = 45 - Arrays.stream(numbers).sum(); return answer; } }

카테고리 없음 2021.10.27

[JAVA] 핸드폰 번호 가리기 - 프로그래머스

풀이 : 이전 * 찍기 문제 에서 사용했던 IntSreram 을 사용하여 뒷자리 4자리제외 * 채우기는 되었지만 이후 숫자에 대해 가져올방법이 떠오르지않아 SubString 으로 마무리. import java.util.stream.IntStream; class Solution { public String solution(String phone_number) { String answer = ""; StringBuilder sb = new StringBuilder(); IntStream.range(0,phone_number.length()-4).forEach(x -> sb.append("*")); sb.append(phone_number.substring(phone_number.length()-4,phone..

카테고리 없음 2021.10.11

[JAVA] X만큼 간격이 있는 n개의 숫자 - 프로그래머스

풀이 : 1부터 n 번까지 초기값 x 를 더하고 List 에 담은 후 변환 하여 리턴 long[] answer 로 선언되어 List list 는 long 으로 변환 을 해야한다. long[] = (List).stream().mapToLong(Long::longValue).toArrray(); 변환 가능! public long[] solution(long x, int n) { long[] answer ={}; long startNum = x; List list = new ArrayList(); list.add(startNum); for (long i=1; i < n; i++) { x +=startNum; list.add((long)x); } answer = list.stream().mapToLong(Lon..

알고리즘/JAVA 2021.09.30

[JAVA] 직사각형 별찍기 - 프로그래머스

풀이 : 프로그램 공부를 시작하며 Hello world 찍기 응용으로 * 찍기를 했었던게 생각나서 자바로 다시 풀게되었다. 다중 for 문을 이용하여 가로 찍고 줄바꿈 진행 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 < a; j++) { System.out.print("*"); } System.out.println(); } } 풀이2 : 다른사람 풀이는 역시 대단하다 Stream 을 사용하여 foreach 통한 * 찍기 및 줄바꿈 표현 public s..

알고리즘/JAVA 2021.09.29

[JAVA] 로또의 최고 순위와 최저 순위 - 프로그래머

문제 풀이 : 1. 지워진 0의 숫자의 개수를 구하고 로또가 맞은 번호의 개수를 뽑는다. 2. 위의 조건에 맞게 max 와 min 을 정한다. 최고 등수는 맞은것 + 0의 개수 에 대하여 -7을 하면 값이 나온다! Max = 맞은번호 개수 + 0의 개수의 합이 0이 아닌 경우 : 7 - (맞은 번호 + 0 의 개수) 맞은번호 개수+ 0의 개수의 합이 0인 경우 : 6 최소 등수는 0의 개수는 무조건 0이라 생각하며 맞은 경우에 대해서만 생각한다. Min = 맞은 번호가 0일 경우 6 맞은 번호가 0이 아닌경우 7 - 맞은 번호 개수 public int[] solution(int[] lottos, int[] win_nums) { int[] answer = {}; int matchCount = 0; int ..

알고리즘/JAVA 2021.07.24