전체 글 38

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

프로그래머스 Lv.2 - 이진 변환 반복하기

https://school.programmers.co.kr/learn/courses/30/lessons/70129 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문자열 s 가 "1"이 될때까지 반복하는 구조로 설정 2. 문자열 s 에서 0이 모두 제거된 횟수와 제거된 문자열을 저장 3. 0이 모두 제거된 문자열에 길이를 toBinaryString()을 이용하여 이진수로 변환한 문자열을 s에 저장 4. 한 횟수가 돌았으니 answer[0] 에 1을 더하고, answer[1]에 0이 제거된 수를 더해준다. 12345678910111213141516171..

Programmers/Lv.2 2023.07.24

스택

스택이란 LIFO(Last In - First Out)의 형태를 가진 자료구조이다. 스택 선언 import java.util.Stack; Stack stack = new Stack(); // 스택 내부 자료형이 int형인 스택 선언 Stack stack = new Stack(); // 스택 내부 자료형이 character형인 스택 선언 스택 함수 Stack st = new Stack(); /* 스택 값 추가 */ st.push(1); st.push(2); st.push(3); //1, 2, 3 순으로 저장됨 /* 스택 값 삭제 */ st.pop(); // 늦게 들어온 3이 삭제됨. st.clear(); // 스택 초기화 /* 최상단의 값 출력 */ st.peek(); /* 스택 크기 출력 */ st.si..

JAVA 2023.07.24

프로그래머스 Lv.2 - 올바른 괄호

https://school.programmers.co.kr/learn/courses/30/lessons/12909 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 스택 변수를 선언하고, 해당 스택변수에 데이터가 없는 경우, true를 리턴, 아닌 경우에는 false를 리턴하는 것으로 설정 2. 주어진 문자열을 순회하면서 '(' 만 스택 변수에 push 3. 스택 변수에 데이터가 없고 현재 순회한 문자가 ')' 경우에는 false 리턴 4. 스택 변수에 데이터가 있고 현재 순회한 문자가 ')' 경우에는 pop을 실행 1 2 3 4 5 6 7 8 9 10..

Programmers/Lv.2 2023.07.23

프로그래머스 Lv.1 - 바탕화면정리

https://school.programmers.co.kr/learn/courses/30/lessons/161990?language=java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 바탕화면에 정리할 폴더들을 전체 선택을 할 수 있어야 한다. 2. 각 파일들의 좌표들 중 개별적인 x좌표 y좌표 중 최대 최소에 대한 정보를 가져온다. 123456789101112131415161718192021class Solution { public int[] solution(String[] wallpaper) { int x1 = 50; int y1 = 50; ..

Programmers/Lv.1 2023.07.23

프로그래머스 Lv.1 - 크기가 작은 부분 문자열

https://school.programmers.co.kr/learn/courses/30/lessons/147355 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문자열 t를 글자 하나하나 순회를 한다. 2. 순회하면서 p 사이즈만큼의 앞 문자까지 잘라서 p와 비교를 한다. 3. p가 더 큰 경우 answer 값을 하나씩 증가시킨다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 class Solution { public int solution(String t, String p) { int answer = 0; int pSize = p...

Programmers/Lv.1 2023.05.31