[일기]
공부에 집중을 못했다.
진도 많이 나가려고 했는데, 공지사항으로 자영업자는 훈련장려금을 받기 어렵다는 말에
? 아닐텐데.. 하고 계속 찾아봐야 했다.
지금은 폐업 과정을 밟고 있어서 판매 중지를 했지만.. 정산이 느려서.. 2달뒤에 할 수 있다.. 그래서.. 이거 못받으면 수익이 없음_ ㅠ
결론부터 말하자면 자영업자도 고용보험에 가입하면 훈련장려금을 받을 수 있다.
하지만.. 부캠에서는 폐업 처리를 해야 수령할 수가 있다고 해서 엄청 알아봤다.
[국민내일배움카드 운영규정] 제49조 제2호 다목
[고용보험법] 제2조 제1호 나목
살펴보면 찾아볼 수 있다. 하지만 내용에는 수강 신청 전, 수강 중 이런 말이 없어서
매니저님한테 말씀드리고... 고용노동부에 전화하고... 매니저님한테 말씀드리고... 고용노동부에 또 전화하고...
K-Digital Traning 훈련지원금은 실업자만 받을 수 있어서 그럼 나는 뭘 받고
이게 일단위인지 월단위인지.. 제대로 표기 된게 없어서 계속 물어봤다.
쨋든 이런 거 때문에 그쪽으로 신경이 계속 쓰여서 집중이 안됐다.
어쨋든.. 시작
// a,A 알파벳이 소문자인지 아닌지 확인
// toCharArray 써야함
// char
// 아스키코드 소문자 대문자 차이 32
위에 우선 내가 해야되는 것들을 쭉 적어뒀다.
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String a = sc.next();
char[] b = a.toCharArray();
if (1 <= a.length() && a.length() <= 20) {
for (int i = 0; i < a.length(); i++) {
char c = b[i];
if ('a' <= c && c <= 'z') {
c = (char)(c - 32);
System.out.print(c);
} else if ('A' <= c && c <= 'Z') {
c = (char)(c + 32);
System.out.print(c);
}
}
}
}
}
이렇게 풀었는데...
char 배열을 만들고 a에 입력받은 String타입을 Char배열로 배꿔주는 toCharArray() 를 써줬다.
나는 아스키코드를 보고 32를 더하고 빼는 걸로 했는데...
야 너네 코테 기초 맞냐??????
난 저런 거 몰랐어 들어본적도 없어 비겁하다 비겁해
어쨋든 지식 습득
변수.toCharArray() 를 넣으면 바로 배열로 만들 수 있구나!!!
is, to로 이게 뭐냐고 묻고 바꾸고 할 수 있구나!! (UpperCase, LowerCase)
이런 기능들은 만들어주신 선조 코딩 선배님들에게 존경을 표합니다..
그리고 강의를 듣는데 배열.length와 Collection Map에 대해 잘 이해가 안 됐었다.
우선 배열.length
package week02.array;
public class Arr06 {
public static void main(String[] args) {
// 반복문을 통한 초기화
int[][] array = new int[2][3]; // 2x3의 행열이다.
// System.out.println(array.length); // 배열의 길이 (행)
for(int i = 0; i < array.length; i++){
for(int j = 0; j < array[i].length; j++){
System.out.println("출력값 =>" + i + ", " + j);
// array[i][j] = 0; // i, j 는 위 노란색 네모박스 안에있는 숫자를 의미하며 인덱스라고 부릅니다.
}
}
}
}
이게 왜 이해가 안됐냐..
2차원 배열을 배우자마자 바로 예제로 갔는데
array[i].length가 가르키는 것이 뭐지?가 이해가 안됐다.
갑자기 저 array[i][j] = 0; 도 이해가 안 되기 시작함
저 array.length가 1차원 배열일 때는 쉽게 이해가 됐는데 2차원으로 넘어가니
그래서 length가 뭐를 의미하는데 ㅋㅋㅋ 이렇게 된 것
array[].length는 열의 길이..
array[][]안에
array[]는 해당 행의 열의 길이..
또 헷갈리기 시작
그냥 array[].length는 array[] 안에 들어갈 0을 생략하는 건가?
결론적으로는 배열의 length는 열의 길이를 이야기 하는 것이었다.
어? 그럼 String으로 배열을 만들고 중첩 for문에
array[i][j].length 를 넣으면 그 안에 있는 String 길이만큼 뭘 할 수 있으려나??
어 된다ㅋㅋ .length는 어디에 쓰이냐에 따라 다양하게 활용할 수 있을 거 같았다.
어쨌든 2차원배열[1][2]에서 1은 1행 2는 2열
1차원배열[1]에서 1은 1열을 얘기한다. 이걸 중첩 for문 안에 넣으니까 갑자기 헷갈려버린것..
두번째로는 Map인데
여기서 예제로 쓰이던 HashMap이 이해가 안됐다.
사실 Hash를 배우기 전인데 강사분께서 Hash로 설명을 하셨다.
package week02.collection;
import java.util.HashMap;
import java.util.Map;
public class Col6 {
public static void main(String[] args) {
// Map : key - value pair -> 중요!
// key라는 값으로 unique 하게 보장이 돼야 함
// Map -> HashMap, TreeMap으로 응용
Map<String, Integer> intMap = new HashMap<>();
// 키 값
intMap.put("일", 11);
intMap.put("이", 12);
intMap.put("삼", 13);
intMap.put("삼", 14); // 중복 key
intMap.put("삼", 15); // 중복 key
// key 값 전체 출력 (향상된 for문)
for(String key: intMap.keySet()){
System.out.println(key);
}
// value 값 전체 출력 (향상된 for문)
for(int Value : intMap.values()) {
System.out.println(Value);
}
// System.out.println(intMap.get("삼"));
}
}
이건데 값을 출력하면
이렇게 Queue 형태도 아니고 Stack 형태도 아닌
102 이런 식으로 출력이 된다.
해쉬???
분명 너가 범인일 거다. 나는 무죄추정원칙을 어기고 수사에 들어갔다.
Hash
Hash는 임의의 크기를 가진 데이터를 고정된 크기의 데이터로 전환 시켜 저장한다.
HashMap
HashMap은 내부에 키와 값을 저장하는 자료구조를 갖고 있다. HashMap은 Hash 함수를 통해 키와 값이 저장되는 위치를 결정하기 때문에 사용자는 그 위치를 알 수 없고, 삽입되는 순서와 들어 있는 위치 또한 관계가 없다.
오호.. 이거 난수의 기질이 보이는 구만
우리가 일반적으로 생각하는 저장형태랑은 다르다고 한다.
보통 순서 보장이 되는 형태가 있고 아닌 형태가 있는데
Hash 같은 경우가 순서를 보장받기 어려운 것.
음.. 그러면 Set이랑 비슷한가?
근데 값을 찾을때의 용이성, 속도면에서 차이가 난다고 한다.
HashMap은 Key값으로 Value를 찾기 때문에..
그리고 Set은 값의 중복이 없지만, Hashmap은 값의 중복은 허용하나 Key의 중복은 허용하지 않는다.
아!! 조금만 더 배우면 이해할 거 같아!!!
강의 다 보고 자바의 정석 봐야겠다ㅋㅋ
'TIL' 카테고리의 다른 글
TIL 2023-10-17 매개변수, 인자, 가변길이란 무엇인가 (0) | 2023.10.17 |
---|---|
TIL 2023-10-16 문자열 겹쳐쓰기, 객체지향 4가지 특징 (0) | 2023.10.16 |
TIL 2023-10-12 Java if문으로 가위바위보 만들기 응용 (0) | 2023.10.12 |
TIL 2023-10-11 팀 발표 하고, 보면서 배운 것 (0) | 2023.10.11 |
TIL 2023-10-10 팀프로젝트 CRUD 구현 (0) | 2023.10.10 |