프로그래머스 - 없는 숫자 더하기 java풀이 https://school.programmers.co.kr/learn/courses/30/lessons/86051?language=java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제설명 0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ numbers의 길이 ≤ 9 0 ≤ numbers의 모든 원소 ≤ 9 numb..
Java의 자료구조 - Map의 개념, 활용, 예제 정리 1. Map 이란? - Map은 리스트나 배열처럼 순차적으로 요소의 값을 구하는 것이 아닌 key를 통해 value(값)를 얻는다. Map 인터페이스는 Collection 인터페이스와는 다른 저장 방식을 가진다. Map은 키(key)와 값(value)을 하나의 쌍으로 저장하는 방식(ket-value방식)을 사용한다. 2. Map의 특징 1. 저장 순서를 유지하지 않는다. 2. 키는 중복을 허용하지 않는다. (값의 중복은 허용) 3. Map 활용 put // 1 Map map1 = new HashMap(); map1.put("watch", "시계"); map1.put("whale", "고래"); map1.put("blog", "블로그"); // 2 ..
프로그래머스 - 최소직사각형 (완전탐색) JAVA풀이 https://school.programmers.co.kr/learn/courses/30/lessons/86491 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 명함 지갑을 만드는 회사에서 지갑의 크기를 정하려고 합니다. 다양한 모양과 크기의 명함들을 모두 수납할 수 있으면서, 작아서 들고 다니기 편한 지갑을 만들어야 합니다. 이러한 요건을 만족하는 지갑을 만들기 위해 디자인팀은 모든 명함의 가로 길이와 세로 길이를 조사했습니다. 아래 표는 4가지 명함의 가로 길이와 세로 길이를 나타냅니다...
프로그래머스 - 나머지가 1이 되는 수 찾기 JAVA 풀이 https://school.programmers.co.kr/learn/courses/30/lessons/87389 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다. 제한 사항 3 ≤ n ≤ 1,000,000 입출력 예 n result 10 3 12 11 입출력 예 #1 10을 3으로 나눈 나머..
프로그래머스 - 신고 결과 받기 (JAVA 풀이) https://school.programmers.co.kr/learn/courses/30/lessons/92334 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 유저를 신고할 수 있습니다. 신고 횟수에 제한은 없습니다. 서로 다른 유저를 계속해서 신고할 수 있습니다. 한 유저를 여러 번 신고할 수도 있지만, 동일한 유저에 ..
JAVA - List 중복데이터 제거하는 방법 2가지 최근에 코딩테스트 준비를 하다보면 input으로 주어지는 배열이 자주 등장하는데 로직의 효율성을 위해 중복제거해야 할 경우가 간혹 있었기 때문에 List 중복제거에 대해 기록한다. 1. Stream을 활용한 중복제거 - Java 1.8 이상 List reportList = Arrays.asList(new String[]{"a", "b", "c", "d", "a", "c"}) .stream() .distinct() .collect(Collectors.toList()); // 결과 : [a, b, c, d] 2. Set을 활용한 중복제거 List list = Arrays.asList(new String[]{"a", "b", "c", "d", "a", "c..
프로그래머스 - 성격 유형 검사하기 [JAVA] https://school.programmers.co.kr/learn/courses/30/lessons/118666 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제설명 나만의 카카오 성격 유형 검사지를 만들려고 합니다. 성격 유형 검사는 다음과 같은 4개 지표로 성격 유형을 구분합니다. 성격은 각 지표에서 두 유형 중 하나로 결정됩니다. 지표 번호 성격 유형 1번 지표 라이언형(R), 튜브형(T) 2번 지표 콘형(C), 프로도형(F) 3번 지표 제이지형(J), 무지형(M) 4번 지표 어피치형(A),..
[Java] Stream - 자바 스트림 개념 및 사용법 💡 자바 스트림 (Stream ) 자바의 스트림(Stream)은 Java 8에 추가된 기능이다. 컬렉션에 저장되어 있는 요소들을 하나씩 참조하여 람다식으로 처리할 수 있도록 해주는 코드패턴(반복자)이다. 스트림은 람다식과 함께 사용되기때문에 데이터에 대한 처리를 매우 간결하게 작성할 수 있다는 장점과 내부 반복자라는 것을 사용하기 때문에 병렬처리가 쉽다는 장점이 있다. 💡 Iterator 이전까지는 컬렉션의 엘리먼트들을 순회하기 위한 Iterator 객체를 활용하였다. /* Iterator 활용 */ ArrayList arrList = new ArrayList(Arrays.asList("a","b","c","d","f")); Iterator ite..