본문 바로가기

전체 글

(67)
프로그래머스 Lv1 완주하지 못한 선수 import java.util.*; class Solution { public String solution(String[] participant, String[] completion) { String answer = ""; HashMap map = new HashMap(); for (String player : participant){ map.put(player , map.getOrDefault(player,0)+1); } for (String player : completion){ map.put(player , map.get(player)-1); } Iterator iter = map.entrySet().iterator(); while (iter.hasNext()){ Map.Entry entry = i..
프로그래머스 Lv1 수박수박수박수박수박수? class Solution { public String solution(int n) { String answer = ""; for (int i = 1 ; i
프로그래머스 Lv1 서울에서 김서방 찾기 import java.util.Arrays; class Solution { public String solution(String[] seoul) { String answer = ""; int index = Arrays.asList(seoul).indexOf("Kim"); answer = "김서방은 " + index + "에 있다"; return answer; } } int index = Arrays.asList(seoul).indexOf("Kim"); int index 문제에서 필요로하는 data Type은 배열에서 "kim"의 위치를 index한 int 값이기 때문에 int type Data 안에서 위치를 index해 담아줄 객체를 선언한다. Arrays.asList(seoul).indexOf("Kim..
프로그래머스Lv1 문자열 다루기 기본 class Solution { public boolean solution(String s) { return (s.length() == 4 || s.length() == 6) && (s.split("[0-9]").length
프로그래머스Lv1 문자열 내 p와 y의 개수 class Solution { boolean solution(String s) { s = s.toUpperCase(); return s.chars().filter( e -> 'P'== e).count() == s.chars().filter( e -> 'Y'== e).count(); } } 내가 직접 작성한 코드가 아닌 정리하면 제일 공부가 많이될법한 답안을 문제의 정답에서 가져왔다. s = s.toUpperCase(); toUpperCase() : 영어 대소문자가 섞인 String Type Data를 모두 대문자로 변환 toLowerCase() : 영어 대소문자가 섞인 String Type Data를 모두 소문자로 변환 문제에서는 대소문자를 구별하지않고 같은지만 비교하기 때문에 모두 대문자로 바꿔주었다...
프로그래머스Lv1 내적 import java.util.stream.IntStream; class Solution { public int solution(int[] a, int[] b) { return IntStream.rangeClosed(0,a.length-1).map(index -> a[index] * b[index]).sum(); } } - return IntStream.rangeClosed(0,a.length- 1) - IntStream : primitive Data인 int를 stream으로 다룰 수 있게 해준다. reangeClosed(0 , a.length-1) : 0에서 a배열의 길이-1한 만큼의 수를 반복한다. - map(index -> a[index] * b[index]).sum(); - map(index) ..
항해 99 9일차 (알고리즘 모의고사) = 문제 = 항해 시작일을 입력하면 항해99 수료일을 n월n일 형식으로 리턴하는 메서드를 만드세요 import java.time.LocalDate; import java.time.format.DateTimeFormatter; public class Main { public static void main(String[] args) { Main method = new Main(); System.out.println(method.solution(1, 18)); } public String solution(int day, int month) { String answer = ""; //Local Date today로 2022년 month월 day일의 객체를 생성 LocalDate today = LocalDate...
프로그래머스Lv1 나누어 떨어지는 숫자 배열 class Solution { public int[] solution(int[] arr, int divisor) { int[] arr1 = Arrays.stream(arr).filter(parameterArr -> parameterArr % divisor == 0).toArray(); arr1 = Arrays.stream(arr1).sorted().toArray(); if (arr1.length ==0) arr1 = new int[]{-1}; return arr1; } } 지금껏 풀어왔던 배열 문제들과 유사한 문제지만 매번 똑같은 방식으로 풀기보다 새로운 개념을 배우며 풀어보면 좋을 것 같아 Arrays.stream을 사용해서 풀어봤다. - Arrays.stream(arr) - 스트림은 데이터의 흐름이다..