본문 바로가기

분류 전체보기122

[Java] 내부클래스, 익명클래스 내부클래스(inner class) 클래스 안의 클래스 내부클래스는 외부클래스로 바로 접근 가능, 단 static 내부클래스는 외부클래스에 접근 불가 코드가 복잡해보일 수 있기때문에 잘 쓰지는 않음 public class No8_InnerClass { int num = 100; static String str1 = "hello"; public No8_InnerClass() { System.out.println("OuterClass Constructor"); } // 내부클래스1 class InnerClass { int num = 200; String str2 = str1; // 내부클래스는 외부클래스 멤버 접근가능 // 내부클래스1 생성자 public InnerClass() { System.out.prin.. 2021. 7. 27.
[프로그래머스 연습문제 level_2 ] 예산 문제 설명 S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 없습니다. 그래서 최대한 많은 부서의 물품을 구매해 줄 수 있도록 하려고 합니다. 물품을 구매해 줄 때는 각 부서가 신청한 금액만큼을 모두 지원해 줘야 합니다. 예를 들어 1,000원을 신청한 부서에는 정확히 1,000원을 지원해야 하며, 1,000원보다 적은 금액을 지원해 줄 수는 없습니다. 부서별로 신청한 금액이 들어있는 배열 d와 예산 budget이 매개변수로 주어질 때, 최대 몇 개의 부서에 물품을 지원할 수 있는지 return 하도록 solution 함수를 완성해주세요. 제한사항 d는 부서별로 신청한 .. 2021. 7. 27.
[프로그래머스 연습문제 level_2 ] 키패드 누르기 문제설명 이 전화 키패드에서 왼손과 오른손의 엄지손가락만을 이용해서 숫자만을 입력하려고 합니다. 맨 처음 왼손 엄지손가락은 * 키패드에 오른손 엄지손가락은 # 키패드 위치에서 시작하며, 엄지손가락을 사용하는 규칙은 다음과 같습니다. 엄지손가락은 상하좌우 4가지 방향으로만 이동할 수 있으며 키패드 이동 한 칸은 거리로 1에 해당합니다. 왼쪽 열의 3개의 숫자 1, 4, 7을 입력할 때는 왼손 엄지손가락을 사용합니다. 오른쪽 열의 3개의 숫자 3, 6, 9를 입력할 때는 오른손 엄지손가락을 사용합니다. 가운데 열의 4개의 숫자 2, 5, 8, 0을 입력할 때는 두 엄지손가락의 현재 키패드의 위치에서 더 가까운 엄지손가락을 사용합니다. 4-1. 만약 두 엄지손가락의 거리가 같다면, 오른손잡이는 오른손 엄지손가.. 2021. 7. 25.
[프로그래머스 연습문제 level_2 ] 핸드폰 번호 가리기 문제 설명 프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요. 제한 조건 s는 길이 4 이상, 20이하인 문자열입니다. 입출력 예 "01033334444" "*******4444" "027778888" "*****8888" 처음 생각 문자열의 앞부분을 *로 하나씩 대체, 문자열-4 길이까지만 하고 나머지는 그대로 이어붙인다고 생각했는데 문자열을 반복해서 대체하는게 복잡하므로 차라리 새로운 문자열에 *를 전화번호-4길이만큼 *를 넣고 뒤에 나머지 숫자 4자리를 갖다 붙이자고 생각을 고쳤.. 2021. 7. 25.
[프로그래머스 연습문제 level_2 ] 숫자 문자열과 영단어 문제설명 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자릿수를 영단어로 바꾸는 예시입니다. 1478 → "one4seveneight" 234567 → "23four5six7" 10203 → "1zerotwozero3" 이렇게 숫자의 일부 자릿수가 영단어로 바뀌어졌거나, 혹은 바뀌지 않고 그대로인 문자열 s가 매개변수로 주어집니다. s가 의미하는 원래 숫자를 return 하도록 solution 함수를 완성해주세요. 참고로 각 숫자에 대응되는 영단어는 다음 표와 같습니다. 숫자영단어 0 zero 1 one 2 two 3 three 4 four 5 five 6 six 7 se.. 2021. 7. 25.
[Java] 상속 메소드 오버라이드, 자료형, super 클래스 * 자식 클래스는 부모 클래스의 모든 자원을 사용할 수 있지만 private 접근자의 속성과 메소드는 사용 불가능 [1] 메소드 오버라이드 부모 클래스의 기능을 자식 클래스에서 재정의해서 사용하는 것 [2] 클래스도 데이터타입이다 [3] 상위 클래스를 호출할 때 super 키워드 이용 public class No3_Inheritance_Parents { // 필드 public String name; public String ssn; // 생성자 public No3_Inheritance_Parents(String name, String ssn) { this.name = name; this.ssn = ssn; } // 메소드 double areaCircle(double r) { return 3.141592 .. 2021. 7. 24.