일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Android
- 안드로이드스튜디오
- 정처기
- MySQL
- CS
- 혼공단
- Kotlin
- 코딩
- 혼공챌린지
- 카카오코테
- 프로그래머스
- 코틀린
- join
- 우아한테크코스
- SQL
- doitandroid
- 안드로이드
- 정보처리기사
- 스터디
- 우테코
- select
- Til
- 자바
- 코테
- 혼공파
- 코딩테스트
- 인프런
- java
- groupby
- navermap
- Today
- Total
목록자바 (18)
Welcome! Everything is fine.
📌 문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.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()는 시작 인덱스와 끝 인덱스를 정해 배열의 일..
자바에서 java.lang.String 클래스의 다음과 같이 세 가지 메서드를 이용해 문자열을 변경할 수 있다. replace() replaceAll() replaceFirst() replace(CharSequence target, CharSequence replacement) replace() 메서드를 이용해 특정 문자열을 원하는 문자열로 대체할 수 있다. 정규식을 인자로 받을 수 있는 replaceAll()이나 replaceFirst() 와 달리 replace()는 대체할 문자열이 단순한 문자열일 경우 사용된다. String original = "Hello, World!"; String modified = original.replace("Hello", "Hi"); // 모든 Hello라는 문자열을 H..
자바에서 특정 부분 문자열을 추출하기 위해 java.lang.String클래스의 substring() 메소드를 사용할 수 있다. 해당 메소드는 다음과 같이 두 가지 버전이 있다. public String substring(int beginIndex) public String substring(int beginIndex, int endIndex) substring() 메소드는 원본 문자열을 변경하지 않고 새로운 문자열을 생성한다. substring(int beginIndex) beginIndex부터 맨 끝까지의 문자열을 리턴한다. public class SubstringExample { public static void main(String[] args) { String originalString = "H..
📌 접근지정자 어떤 클래스로부터 다른 클래스의 메소드와 필드의 수준을 통제하는 역할을 한다. 중요한 멤버에 대해서는 제한적 접근을 설정, 즉 뚜렷한 이유가 없다면 가능한 private를 사용한다. 일반적으로 상수를 제외하고 가능한 public 필드는 사용하지 않는 것이 좋다. public 필드로 인해 코드 수정이나 확장과 같은 변경에 있어서 융통성에 제약을 줄 수 있기 때문이다. 📌 클래스 접근지정자 ✔ 클래스 앞에 붙는 접근지정자는 2가지 → public, 접근지정자 생략(default) 접근지정자 설명 public 외부의 다른 클래스로부터 접근 가능 default(package-private) 같은 패키지 내에 있는 클래스에서만 접근 가능 ✔ 패키지란? 공통된 특성을 가진 클래스들의 모임! 📌 멤버 ..