Java 30

프로그래머스 Lv.1 - 소수 찾기

https://school.programmers.co.kr/learn/courses/30/lessons/12921 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 주어진 n을 가지고 n+1 크기를 가진 배열을 하나 생성한다. 2. 이 배열에는 0부터 n까지의 인덱스를 참조할 수 있는데 0을 제외한 인덱스 각각의 각 인덱스에 대한 약수의 수를 저장한다. 3. 해당 배열을 순회하면서 약수의 수가 2인 인덱스의 갯수를 구한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 class Solution { public i..

Programmers/Lv.1 2023.09.16

프로그래머스 Lv.1 - 기사단원의 무기

https://school.programmers.co.kr/learn/courses/30/lessons/136798 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 주어진 number + 1 크기를 가진 배열을 만든다. 2. 이 배열에는 0부터 number까지의 인덱스에 값을 저장할 수 있는데, 여기에 각 인덱스에 해당하는 약수의 수를 저장할 것이다. 3. 각 인덱스에 대한 약수를 다 구하면, 해당 배열을 순회하면서 약수의 수가 limit을 넘으면, 주어진 power을 더하고, limit을 넘지 않으면 해당하는 약수의 수를 더한다. 1 2 3 4 5 ..

Programmers/Lv.1 2023.09.16

Map 인터페이스

Map 인터페이스는 키(Key)와 값(Value)을 하나의 쌍으로 묶어서 저장하는 컬렉션 클래스를 구현하는 데 사용된다. 키는 중복될 수 없고, 값은 중복이 가능하다. Map 인터페이스 메서드 메서드 설명 void clear() Map의 모든 객체를 삭제한다. boolean containsKey(Object key) 지정된 key객체와 일치하는 Map의 key객체가 있는지 확인한다. boolean containsValue(Object value) 지정된 value객체와 일치하는 Map의 value 객체가 있는지 확인한다. Set entrySet() Map에 저장되어 있는 key-value 쌍을 Map.Entry타입의 객체로 저장한 Set으로 반환한다. boolean equals(Object o) 동일한 ..

JAVA 2023.08.13

List 인터페이스

List 인터페이스는 중복을 허용하면서 저장순서가 유지되는 컬렉션을 구현하는데 사용된다. List 인터페이스에 정의된 메서드(Collection 인터페이스에서 상속받은 메서드는 제외) 메서드 설명 void add(int index, Object element) boolean addAll(int index, Collection c) 지정된 위치(index)에 객체(element) 또는 컬렉션에 포함된 객체들을 추가한다. Object get(int index) 지정된 위치(index)에 있는 객체를 반환한다. int indexOf(Object c) 지정된 객체의 위치(index)를 반환한다. (List의 첫 번째 요소부터 순방향으로 찾는다.) int lastIndexOf(Object c) 지정된 객체의 위치..

JAVA 2023.08.13

Collections Framework

Collections Framework란? - 데이터 군을 저장하는 클래스들을 표준화한 설계 장점 - 인터페이스와 다형성을 이용한 객체지향적 설계를 통해 표준화되어 있다. - 따라서 사용법도 익히기 쉽고, 재사용성이 높은 코드를 작성할 수 있다. Collections Framework에서는 그룹을 크게 3가지로 나눈다.(List, Set, Map) ※List와 Set을 구현한 컬렉션 클래스들은 서로 많은 공통 부분이 있어서, 공통 부분을 뽑아 Collection 인터페이스를 정의할 수 있었지만, Map 인터페이스는 이들과는 전혀 다른 형태로 컬렉션을 다루기 때문에 같은 상속계층도에 포함되지 못했다. 인터페이스 특징 List 순서가 있는 데이터의 집합. 데이터의 중복을 허용한다. 구현클래스 : ArrayL..

JAVA 2023.08.12

overriding 이란?

Overriding : 조상 클래스로부터 상속받은 메서드의 내용을 변경하는 것. ex) class Point { int x; int y; String getLocation() { return "x : " + x + ", y :" + y; } } class Point3D extends Point { int z; String getLocation() { return "x : " + x + ", y : " + y + ", z : " + z; } } 오버라이딩의 조건 (자손 클래스에서 오버라이딩하는 메서드는 조상클래스의 메서드와) - 이름이 같아야 한다. - 매개변수가 같아야 한다. - 반환타입이 같아야 한다. 주의) 조상 클래스의 메서드를 자손 클래스에서 오버라이딩할 때, - 접근 제어자를 조상 클래스의 메서..

JAVA 2023.08.12

overloading 이란?

자바에서 한 클래스 내에서 사용 용도가 같지만 받는 인자가 다른 경우가 종종 있다. 즉, 한 클래스 내에 사용하려는 메서드 이름이 존재하여도 매개변수의 개수 또는 타입이 다르면, 같은 이름을 사용해서 메서드를 정의할 수 있다. 이를 오버로딩(overloading) 이라고 한다. Overloading의 조건 - 메서드 이름이 같아야 한다. - 매개변수의 개수 또는 타입이 달라야 한다. 오버로딩의 예로 println 메서드를 봐보자. 실제로 println 메서드를 호출할 때, 매개변수로 지정하는 값의 타입에 따라서 호출되는 println 메서드가 달라진다. void println() void println(boolean x) void print(char x) void print(char[] x) ... 오버..

JAVA 2023.08.12

프로그래머스 Lv.2 - 숫자의 표현

https://school.programmers.co.kr/learn/courses/30/lessons/12924 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 1부터 n까지의 수를 하나씩 순회한다. 2. 해당 숫자부터 연속된 수를 더해나간다. 3. n을 넘어가면 내부 반복문을 나오고 그 값을 n과 비교한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 class Solution { public int solution(int n) { int answer = 0; for(int i=1; i

Programmers/Lv.2 2023.07.26

프로그래머스 Lv.2 - 영어 끝말잇기

https://school.programmers.co.kr/learn/courses/30/lessons/12981 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 단어는 한 글자로만 이루어질 수 없고, 이전에 나왔던 단어와 겹치면 안되고, 자신이 말한 단어의 앞 문자는 바로 이전 문자의 끝 문자와 일치 해야한다. 2. 문자 배열을 돌면서 위 예외에 걸리면 해당 반복문의 인덱스를 이용하여 사용자의 번호와 그 사용자 턴이 몇 번째 턴인지를 answer 배열에 저장하고 반복문을 나온다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ..

Programmers/Lv.2 2023.07.26

프로그래머스 Lv.1 - 둘만의 암호

https://school.programmers.co.kr/learn/courses/30/lessons/155652 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 알파벳 소문자 a - z로 이루어진 리스트를 생성한다. 2. skip에 저장된 알파벳들은 앞서 정의한 리스트에서 제외한다. 3. 재정의된 알파벳 리스트를 이용하여 문자를 변경한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 import java.util.ArrayList; class Solution ..

Programmers/Lv.1 2023.07.24