본문 바로가기

전체 글

(21)
[JAVA] Lv.1 약수의 개수와 덧셈 https://school.programmers.co.kr/learn/courses/30/lessons/77884 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 1. 1은 약수의 개수가 1개이므로 sum에 -1을 한 후 넘어가줌 2. 2부터는 약수의 개수가 최소 2이므로 cnt =2 3. 약수는 자기 자신을 제외하면 숫자를 2로 나눈 값보다 작기 때문에 숫자/2까지만 for문을 돌리도록 함 class Solution { public int solution(int left, int right) { int sum = 0; for (int i = left..
[JAVA] Lv.1 명예의 전당 (1) https://school.programmers.co.kr/learn/courses/30/lessons/138477 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 매일 새로운 점수가 발표될 때마다 자리가 k개인 명예의 전당에 점수들이 내림차순으로 정렬되어 발표됩니다 발표된 명예의 전당의 최하 점수를 배열 형태로 반환하는 문제입니다 풀이 1. score을 리스트에 추가하여 내림차순 정렬 2. 리스트의 마지막 값을 배열에 저장 3. 리스트의 크기가 k를 넘을 경우 리스트의 기존 마지막 값(명예의 전당에서 밀려난 점수)을 삭제 한 후에 다시 마지막 값을 ..
[JAVA] Lv.1 추억 점수 https://school.programmers.co.kr/learn/courses/30/lessons/176963 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 photo 배열의 각 원소들(사진 한 장에 등장한 사람들) 중 name의 원소(추억이 있는 사람들)에 해당하는 값이 있다면 그 원소에 대응하는 점수를 더하여 반환하는 문제입니다 풀이 1. list를 선언하여 name의 원소들을 넣어줌 2. contains() 메소드로 photo 배열들의 각 원소가 list에 포함되는지 확인 3. 포함되면 list에서의 해당 원소 인덱스를 찾고 yearnin..
[JAVA] Lv.1 문자열 내 마음대로 정렬하기 https://school.programmers.co.kr/learn/courses/30/lessons/12915 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 strings의 원소들의 각 n번째 글자를 비교하여 알파벳 순서대로 정렬하여 반환하는 문제입니다 단, n번째 글자가 같을 경우 해당하는 두 원소를 사전 순으로 정렬해야 합니다 풀이 1. strings 배열 두 문자열의 n번째 글자의 아스키코드 값을 비교 2. 뒷 글자가 더 작다면 두 배열의 위치를 바꾼다 3. 뒷 글자와 동일하면 n번째 이후 글자들을 정렬 후 배열의 위치를 바꿈 import ..
[JAVA] Lv.1 [1차] 비밀지도 https://school.programmers.co.kr/learn/courses/30/lessons/17681 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 arr1과 arr2에 주어진 각 정수 값들을 n비트 2진수로 변환 동일한 인덱스끼리 논리합 연산을 수행한 후 0은 " ", 1은 "#"으로 바꿔 문자열 배열 반환 풀이 1. arr1과 arr2의 같은 인덱스 값끼리 비교하여 논리합 연산 수행 2. 결과가 0이면 answer의 각 인덱스에 " ", 1이면 "#" 삽입 class Solution { public String[] solution(i..
[JAVA] super와 super() 1. super 부모 클래스의 변수와 자식 클래스의 변수의 이름이 동일할 때 super 참조 변수를 사용하여 멤버를 구분할 수 있습니다 super를 사용하면 부모 클래스의 변수가 호출되며 this로 자식 클래스의 변수를 호출할 수 있습니다 부모클래스에만 선언된 b 변수는 this를 사용하더라도 부모 클래스의 변수를 호출합니다 //부모클래스 class Parent { int a = 10; int b = 20; } //자식클래스 class Child extends Parent { int a = 30; void print() { System.out.println(super.a); //super a 호출 System.out.println(this.a); //this로 a 호출 System.out.println(..
[JAVA] Lv.1 콜라 문제 https://school.programmers.co.kr/learn/courses/30/lessons/132267 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 1. 새로 얻게 되는 콜라 개수 = 총 빈 병 개수 / 교환 기준 개수 2. 현재 갖고 있는 빈 병 개수 = 교환하고 남은 빈 병 개수 + 새로 얻은 콜라 개수 문제에서 주어진 예시는 모두 b가 1로 주어졌지만 2 이상인 경우를 생각해야 한다 class Solution { public int solution(int a, int b, int n) { int answer = 0; while (..
[JAVA] 상속 Inheritance 상속(inheritance) 기존의 클래스에 기능을 추가하거나 재정의하여 새로운 클래스를 정의하는 것 상속을 받은 클래스는 기존 클래스의 모든 필드와 메소드를 가져다 사용할 수 있다 이 때 기존 클래스를 부모 클래스 또는 상위 클래스, 상속 받은 클래스를 자식 클래스 또는 하위 클래스라고 부를 수 있다 extends 를 사용하여 클래스를 상속 받을 수 있다 class 자식클래스 extends 부모클래스 { //생성자 필드 메소드 } 부모클래스의 private 멤버에는 직접 접근할 수 없다 (코드의 안정성 및 캡슐화를 보장하기 위함) private 멤버를 상속받아 사용하기 위해 Getter와 Setter를 사용할 수 있다 자바는 단일 상속만 지원하기 때문에 다중으로 상속할 수 없다 이는 다중 상속으로 인해..