본문 바로가기

전체 글194

[프로그래머스 / 체육복 / JAVA / 탐욕법] https://school.programmers.co.kr/learn/courses/30/lessons/42862 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 접근 학생들의 체육복 소유 여부를 확인하는 boolean 배열과 체육복 여벌을 갖는 boolean 배열을 기본적으로 사용해서 문제를 풀었다. 0번 인덱스로 시작하면 헷갈릴 거 같아서 크기가 1 더 큰 배열로 만들어주었음 두 배열 다 체육복을 갖고있으면 true, 없으면 false 체육복을 갖고 있는지 검사로 다 확인 후에 2번 부터 끝 번호 앞 까지 양 옆 친구들의 체육복 소유 여부, 자신의.. 2023. 3. 16.
[프로그래머스 / 실패율 / JAVA] https://school.programmers.co.kr/learn/courses/30/lessons/42889 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 접근 Map에다가 해당 스테이지 번호 키에 실패율을 담아서 사용하였다. Map에는 keySet()으로 Map이 가지고 있는 key들을 출력 가능한 메소드가 있는데 해당 메소드로 실패율이 제일 높은 스테이지를 검사해서 해당 스테이지를 배열에 담고 return 문제를 풀다가 해당 스테이지 아무도 가지 못했을 때 실패율이 0 / 0이 나오는 경우가 있는데 내 지식선에선 이게 그냥 0으로만 생각되는.. 2023. 3. 15.
[프로그래머스 / 크레인 인형뽑기 게임 /JAVA] https://school.programmers.co.kr/learn/courses/30/lessons/64061 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 접근 *개인적으로 푸는 맛이 있는 문제였음 인형 뽑기 게임의 구조가 2차원 배열로 구성되어 있어서 1번에 위치한 인형들을 계속해서 뽑으려면 [0][0] → [1][0] 이렇게 첫 번째 배열의 숫자를 바꾸어 주어야한다. 이중 for문 안에서 if(board[j][moves[i]-1] !=0) 조건으로 뽑을 번호가 0이 아닌 수를 찾아내서 bucket에 저장하고 뽑은 번호는 0으로 바꾸어주고 다.. 2023. 3. 12.
[프로그래머스 / K번 째 수 / JAVA / 정렬] * Arrays.copyOfRange() https://school.programmers.co.kr/learn/courses/30/lessons/42748 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 접근 배열은 0번 인덱스부터 시작하는 개념이라 처음엔 혼동이 오나 i, j, k의 값들을 2차원 배열에 사용하고, 잘라낸 배열 cutArray에 값을 넣어주면 쉽게 풀린다. import java.util.*; class Solution { public int[] solution(int[] array, int[][] commands) { int[] answer = new int[commands.. 2023. 3. 10.
[프로그래머스 / 모의고사 / JAVA / 완전탐색] https://school.programmers.co.kr/learn/courses/30/lessons/42840 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 접근 각 수포자 친구들의 답을 찍는 패턴에 따라 점수를 매기는 개별 반복문을 만들어주었음 핵심은 정답 갯수의 크기만큼 돌아가는 반복문에서 각 친구들의 찍는 패턴의 반복 주기가 돌아올 때 마다 반복문의 크기를 0으로 초기화해주고 정답 비교 횟수가 정답 갯수와 같아지면 반복문을 탈출하는 것 세 친구들의 순위를 메기는 기능을 일일이 다 나열하는 식 보단 뭔가 간단하게 만들고 싶었는데 떠오르지 않아.. 2023. 3. 10.
Entity, DTO, VO, Controller, Service, Repository, GET, POST 등 !! 처음 접하는 개념들이 많아 간략하게만 정의하였음, 자세한 개념은 따로 찾아볼 것 자바에서 객체 구현 방법은 대표적으로 Entity, DTO, VO 세가지가 있다. Entity와 DTO를 분리해서 사용하는 이유는 DB와 View의 사이의 역할을 분리하기 위함이다. DB layer = persistence, view layer = presentation entity는 실제 DB의 테이블과 매핑 / 그렇기에 entity가 변경되면 entity와 관련되있는 클래스들에도 영향을 끼친다. DTO는 View와 통신하여 자주 변경되기에 분리 DTO는 Entity를 그대로 복사 Entity : 실제 DB 테이블과 매핑 Entity에서 Setter를 자주 사용하면 객체의 값이 쉽게 변경될 수 있으므로, 객체의 일관성.. 2023. 3. 9.