오늘은 토요일!
항해 하면서 시간이 옴팡지게 빨리 지나가는 것 같다
1. 진법변환(멘토님이 알려주신 방법)
- N진수 숫자를 10진수 수로 변환할 때..
우리가 흔하게 쓰는 Inteager.parseInt(String, int)로 가능하다고 한다
첫 번째 인자에는 변환할 문자열, 두 번째 인자에는 변환할 문자열의 진법을 넣어 10진수로 변환할 수 있다.
public class Main {
public static void main(String[] args) {
// 2진법 1010110101를 10진법으로 바꿔라 : 693 출력
int a = Integer.parseInt("1010110101", 2);
// 16진법 abcde를 10진법으로 바꿔라 : 703710 출력
int b = Integer.parseInt("abcde", 16);
}
}
2. 앞으로 읽어도 뒤로 읽어도 똑같은 펠린드롬
팰린드롬문자열은 ’level’, ‘ABBA’, ‘토마토' 처럼 거꾸로 읽어도 똑같은 문장이나 단어를 뜻한다.
오늘 푼 코드는 아니지만.. 알고리즘 하다 더 알고간다
public class 펠린드롬 {
public static boolean isPalindrome(String str) {
// null이거나 빈 문자열인 경우 처리
if (str == null || str.length() == 0) {
return true;
int i = 0; // 문자열의 시작 지점
int j = str.length() - 1; // 문자열의 끝 지점
// 가운데까지 검사
while (i < j) {
// 앞뒤 문자가 다르면 펠린드롬이 아님
if (str.charAt(i) != str.charAt(j)) {
return false;
}
// 이것 또한 중요하다
i++;
j--;
}
// 모든 검사를 통과했다면 펠린드롬임
return true;
}
public static void main(String[] args) {
String example1 = "abccba";
String example2 = "racecar";
String example3 = "hello";
System.out.println(isPalindrome(example1)); // true
System.out.println(isPalindrome(example2)); // true
System.out.println(isPalindrome(example3)); // false
}
}
3. Set
Set 인터페이스를 구현한 클래스(hashSet, treeSet, linkedHashSet) 의 차이..
HashSet
가장 빠른 접근 속도를 제공하지만, 순서(index)를 찾을 수 없다
TreeSet
hashSet보단 느리지만 정렬된다
LinkedHashSet
HashSet의 속도
인덱스로 찾지는 못하지만.. 들어간 순서대로 나온다(like queue…)
일요일 리프레쉬 하면서 사이드프로젝트 공부도 좀 더 하고 화이팅해봅시다!
'항해99 취업 리부트 코스 학습일지' 카테고리의 다른 글
[항해99 취업 리부트 코스 학습일지] 2024.04.03(수) (0) | 2024.04.04 |
---|---|
[항해99 취업 리부트 코스 학습일지] 2024.04.01.(월) (0) | 2024.04.01 |
[항해99 취업 리부트 코스 학습일지] 2024.03.29.(금) (0) | 2024.03.29 |
[항해99 취업 리부트 코스 학습일지] 2024.03.28.(목) (0) | 2024.03.28 |
[항해99 취업 리부트 코스 학습일지] 2024.03.27.(수) (1) | 2024.03.27 |