일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- 혼공단
- 카카오코테
- 기술면접
- 티스토리챌린지
- java
- select
- 스터디
- 혼공챌린지
- 안드로이드스튜디오
- 인프런
- Kotlin
- 안드로이드
- Til
- 혼공파
- 자바
- 정보처리기사
- 프로그래머스
- 알고리즘
- CS
- 정처기
- Android
- doitandroid
- SQL
- MySQL
- join
- 자료구조
- 코틀린
- groupby
- 오블완
- 코테
- Today
- Total
목록자바 (21)
Welcome! Everything is fine.
인프런 강의 을 보고 정리한 내용입니다.매주 모여 각자 정리한 내용을 기반으로 발표하고 질문 공유하는 스터디입니다.다형성(Polymorphism)객체 지향 프로그래밍의 특징 중 하나인 다형성은 한 객체가 여러 타입의 객체로 취급될 수 있는 능력을 의미한다.다형성을 이해하기 위해서 알아야 할 2가지는 다음과 같다.다형적 참조메서드 오버라이딩다형적 참조는 부모 타입이 자신은 물론 모든 자식 타입을 참조할 수 있는 것을 말한다. 다음 예시를 보자.public class Parent { public void parentMethod() { System.out.println("Parent.parentMethod"); }} 다음 Child 클래스는 Parent 클래스를 오버라이딩하고 있다.pu..
📌 문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr📌 풀이참가자 명단에는 있으나 완주자 명단에는 없는 선수의 이름을 반환하는 문제이다. 주의할 점은 참가자 중에 동명이인이 있을 수 있다는 점이다. 내가 작성한 풀이의 대략적인 흐름은 다음과 같다.참가자 배열을 돌며 HashMap에 형태로 참가자들의 정보를 저장한다.완주자 배열을 돌며 HashMap에 저장된 key와 같은 이름이 나올 경우해당 이름이 1개인 경우, 해당 이름으로 된 key를 삭제한다.해당 이름이 2개 이상인 경우(동명이인이 있을 경우), 해당 이름의 인원수를 1 감소시킨다.위 과정을 거..
📌 문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr📌 풀이문자열을 순회하며 x와 x가 아닌 다른 글자들이 나온 횟수가 같아질때 문자열을 분리한 후, 그 개수를 반환하는 문제이다. 우선 x가 나온 횟수를 저장할 변수 count와 x가 아닌 다른 글자들이 나온 횟수를 저장할 변수 other를 만들었다. 또한 문자열 s의 첫 번째 문자를 char형 변수 c에 저장하였다. 문자열 s의 길이만큼 for문을 돌며 count와 other가 같을 경우 answer를 1증가시키고, c에 다음 문자를 넣는다. c와 같은 문자가 나오면 count를 1증가, 다른 문자가 ..
📌 문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr📌 풀이이 문제는 문자열 처리를 묻는 문제였다. 어찌저찌 구현은 했지만 파고파고 들어가는 depth와 과한 if - else 문의 향연..이게 맞나 싶었지만 정답이긴 했다. 그냥 직관적으로 무식하게 짜서 그런지 속도도 꽤 빠르다..^^ 우선 내가 푼 순서의 흐름을 정리해보겠다.세 차례의 게임 후 얻는 점수를 저장할 배열을 만든다."점수|보너스|[옵션]" 으로 이루어진 문자열 dartResult를 순회한다.dartResult.charAt(i)가 숫자일 경우그 다음 문자가 숫자일 경우(= 점수가 10점인 ..
📌 문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr📌 풀이문자열 계산 문제인데 skip에 포함되는 문자는 건너뛰어야 하는 조건이 있었다. 주의할 점은 index만큼의 뒤의 알파벳이 'z'를 넘어갈 경우 다시 'a'로 돌아가야 한다. 아스키 코드를 이용해서 풀면 되는군! 하고 바로 떠올랐지만 어쩐지 자꾸 꼬여가는 코드로 머리가 아팠던 문제였다..흐름을 차근차근 정리해보면 다음과 같다.문자열 s를 한 글자씩 순회한다.이중 for문으로 index번만큼 반복한다.한 바퀴 돌 때마다 s.charAt(i) + 1씩 증가한다.만약 증가한 문자가 'z'(122) ..
📌 문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr📌 풀이두 개의 정수의 임의의 자리에서 공통으로 나타나는 정수를 이용해 만들 수 있는 가장 큰 정수를 반환해야 하는 문제였다. 전체적인 흐름은 다음과 같이 정리할 수 있다.가장 먼저 X와 Y에서 공통된 숫자를 찾기 위해 X, Y를 돌면서 저장할 HashMap을 두 개 만든다.각각의 HashMap은 각 자리의 정수를 key로 갖고, 해당 정수의 개수를 value로 갖는다.최종적으로 만들어진 HashMap을 모두 순회하면서 각 map의 key로 같은 숫자가 존재한다면(짝지을 수 있다면)해당 숫자의 개수가 ..
📌 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📌 풀이 연속적으로 등장하는 숫자를 순서를 유지한 채 제거해야하는 문제였다. stack을 사용하여 문제를 풀었다. arr 배열을 순회하면서 아래의 경우에만 stack에 원소를 넣는다. stack이 비어있는 경우 stack의 맨 위의 원소가 지금 넣으려는 arr 배열의 원소와 다른 경우 반환타입에 맞춰 int 배열에 다시 옮겨 담는다. 단, LIFO(Last In First Out) 구조인 stack의 특성을 고려해 배열의 맨 뒤부터 채워넣는다. 📌 stack 사용법 stack은 다음과 같이 선언한다...
자바에서 배열을 복사하기 위한 방법은 다음과 같다. 메서드를 사용하는 것이 for문보다 더 빠르다고 하니 메서드를 배워보자! for문 Arrays.copyOf() Arrays.copyOfRange() Arrays.copyOf(원본_배열, 복사할_길이) Arrays.copyOf()는 배열의 길이를 지정해 복사할 수 있는 메서드이다. 배열의 처음부터 length 길이만큼의 요소를 복사해 새로운 배열을 생성한다. int[] array = {1, 2, 3, 4, 5}; int[] copy = Arrays.copyOf(array, 3); // {1, 2, 3} Arrays.copyOfRange(원본_배열, 시작_인덱스, 끝_인덱스) Arrays.copyOfRange()는 시작 인덱스와 끝 인덱스를 정해 배열의 일..