자바(37)
-
[프로그래머스] 조이스틱_JAVA
문제 링크 https://programmers.co.kr/learn/courses/30/lessons/42860 코딩테스트 연습 - 조이스틱 조이스틱으로 알파벳 이름을 완성하세요. 맨 처음엔 A로만 이루어져 있습니다. ex) 완성해야 하는 이름이 세 글자면 AAA, 네 글자면 AAAA 조이스틱을 각 방향으로 움직이면 아래와 같습니다. ▲ - 다 programmers.co.kr 먼저 조이스틱의 상, 하 조작을 살펴보자. 1. 조이스틱의 상,하 조작으로 원하는 알파벳 조작하기 조이스틱을 위로 조작해 알파벳을 찾는 경우는 '알파벳2' - '알파벳1' 처음 'A'에서 아래로 조작해 찾는 경우는 26(총 알파벳 수) - ('알파벳2' - '알파벳1') ex) 'A' 'C' 의 경우 'C' - 'A' = 2로, 위..
2022.02.28 -
[프로그래머스] 체육복_JAVA
문제 링크 https://programmers.co.kr/learn/courses/30/lessons/42862 코딩테스트 연습 - 체육복 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번 programmers.co.kr 여벌 체육복을 가져온 학생이 체육복을 도난당했을 수 있습니다. 이때 이 학생은 체육복을 하나만 도난당했다고 가정하며, 남은 체육복이 하나이기에 다른 학생에게는 체육복을 빌려줄 수 없습니다. 해당 주의사항을 생각하고 로직을 짜면 간단하다. 필자의 로직은 이러하다. 1. 전체학생 n만큼의 배열 int student[n] = 1 로, answer = n으로 ..
2022.02.28 -
[JAVA] Comparator과 Comparable에 대하여
알고리즘 문제를 풀며, 간간이 비교가 필요한 순간이 있다. primitive type같은 경우는 해당 과정이 간단하다. package com.jimkwon; public class Main { public static void main(String[] args) { int a = 3, b = 5; String str1 = "abc", str2 = "bbc"; System.out.println(a > b); System.out.println(a < b); System.out.println(str1.equals(str2)); // 설마 문자열인데 ==로 비교하진 않겠지?! } } 하지만 만약 1. 비교 대상이 객체라면? 2. 비교 대상이 Map과 같은 자료구조라면? 먼저 1번의 경우 간단한 Class를 예로..
2022.02.23 -
[프로그래머스] 카펫_JAVA
문제 링크 https://programmers.co.kr/learn/courses/30/lessons/42842 코딩테스트 연습 - 카펫 Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 programmers.co.kr yellow와 brown의 타일 개수가 주어진 후, 가로 세로를 구하는 문제이다. 갈색 타일은 항상 테두리 1줄만 노란색 타일을 감싸고 있다. 중앙의 노란색 타일은 항상 사각형이다. 늘 가로가 세로보다 길거나 같다. 해당 조건을 생각해 보았을 때, 필자는 하나의 공식을 세울 수 있었다. (타일의 가로 * 세로) - (yellow 가로 * 세로) =..
2022.02.22 -
[프로그래머스] 모의고사_JAVA
문제 링크 https://programmers.co.kr/learn/courses/30/lessons/42840 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 programmers.co.kr 각 수포자가 문제를 찍는 규칙을 배열로 만들어둔다. 1번 수포자는 [1, 2, 3, 4, 5] 2번 수포자는 [2, 1, 2, 3, 2, 4, 2, 5] 3번 수포자는 [3, 3, 1, 1, 2, 2, 4, 4, 5, 5] 정답과 해당 규칙을 비교해서 각각 정답 수를 count해주면 끝 import java.util.Arrays; import java..
2022.02.22 -
[프로그래머스] H-index_JAVA
문제 링크 https://programmers.co.kr/learn/courses/30/lessons/42747 코딩테스트 연습 - H-Index H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표 programmers.co.kr 문제만 이해하면 금방 풀 수 있는 문제이다. 어떤 과학자가 발표한 논문 n편 중, h번 이상 인용된 논문이 h편 이상이고 나머지 논문이 h번 이하 인용되었다면 h의 최댓값이 이 과학자의 H-Index입니다. 먼저 인용 횟수로 정렬한다. citations return [3, 0, 6, 1, 5] 3 [0, 1, 3, 5,..
2022.02.22