TIL 23.07.27

ν™©μ€ν•˜Β·2023λ…„ 7μ›” 27일
0

TIL

λͺ©λ‘ 보기
48/146

πŸ“ŒToday I Learned

JAVA μˆ˜μ—…

λ°°μ—΄κ³Ό λ¬Έμžμ—΄μ„ κ³΅λΆ€ν–ˆλ‹€.

β—ˆEx32_Array.java

μ§€λ‚œ μ‹œκ°„ 과제둜 λ‚΄μ£Όμ—ˆλ˜ 문제 쀑 64, 66, 67, 68번 문제λ₯Ό 같이 λ³΄μ•˜λ‹€.

Q064

1~20 μ‚¬μ΄μ˜ λ‚œμˆ˜λ₯Ό λ‹΄λŠ” λ°°μ—΄ 생성 ν›„ μ΅œλŒ“κ°’κ³Ό μ΅œμ†Ÿκ°’ μ°ΎκΈ°
λ‚œμˆ˜λ₯Ό μƒμ„±ν•˜μ—¬ 배열을 μ™„μ„±ν•œ λ’€, μ™„μ„±λœ 배열을 νƒμƒ‰ν•˜λ©΄μ„œ μ΅œλŒ“κ°’κ³Ό μ΅œμ†Ÿκ°’μ„ μ°ΎλŠ”λ‹€.

Q066

둜또 번호 μƒμ„±ν•˜κΈ°
쀑볡 검사λ₯Ό μ‹€μ‹œν•œλ‹€.
-> 기쑴에 μƒμ„±λœ λͺ¨λ“  μš”μ†Œλ₯Ό ν•˜λ‚˜μ”© λΉ„κ΅ν•˜λ©΄μ„œ 같은 μˆ˜κ°€ μžˆλŠ”μ§€ ν™•μΈν•œλ‹€.

Q067

λ°°μ—΄μ˜ μš”μ†Œ μ‚½μž…ν•˜κΈ°
λ°°μ—΄ 쀑간에 ν•œ μš”μ†Œλ₯Ό μ‚½μž…ν•˜λ©΄ 기쑴에 있던 μš”μ†Œλ“€μ€ ν•œμΉΈμ”© 였λ₯Έμͺ½μœΌλ‘œ λ°€λ¦°λ‹€.
이λ₯Ό Right Shift라고 ν•œλ‹€.

for (int i = nums.length - 2; i >= index; i--) {
	// 였λ₯Έμͺ½λ°© = μ™Όμͺ½λ°©
	nums[i + 1] = nums[i];
}
nums[index] = value;

Q068

λ°°μ—΄μ˜ μš”μ†Œ μ‚­μ œν•˜κΈ°
이 경우, 였λ₯Έμͺ½μ˜ μš”μ†Œλ₯Ό μ™Όμͺ½μœΌλ‘œ λ‹Ήκ²¨μ˜€λ©΄μ„œ λ°°μ—΄μ˜ ν•œ μš”μ†Œλ₯Ό μ œκ±°ν•œλ‹€.
이λ₯Ό Left Shift라고 ν•œλ‹€.

for (int i = index; i < nums.length - 1; i++) {
	// μ™Όμͺ½λ°© = 였λ₯Έμͺ½λ°©
	nums[i] = nums[i + 1];
}
nums[nums.length - 1] = 0;

β—ˆEx33_Array.java

닀차원 λ°°μ—΄

// 2차원 λ°°μ—΄
int[][] nums2 = new int[2][3]; // 2(2차원, ν–‰), 3(1차원, μ—΄)

nums2[0][0] = 100;
nums2[0][1] = 200;
nums2[0][2] = 300;
nums2[1][0] = 400;
nums2[1][1] = 500;
nums2[1][2] = 600;

// 3차원 λ°°μ—΄
int[][][] nums3 = new int[2][2][3]; // 2(3차원, 동, λ©΄), 2(2차원, μΈ΅, ν–‰), 3(1차원, 호, μ—΄)

nums3[0][0][0] = 100;
nums3[0][0][1] = 200;
nums3[0][0][2] = 300;

nums3[0][1][0] = 400;
nums3[0][1][1] = 500;
nums3[0][1][2] = 600;

nums3[1][0][0] = 700;
nums3[1][0][1] = 800;
nums3[1][0][2] = 900;

nums3[1][1][0] = 1000;
nums3[1][1][1] = 1100;
nums3[1][1][2] = 1200;

닀차원 μ΄ˆκΈ°ν™” 리슀트

int[] nums1 = new int[] { 10, 20, 30 }; // 잘 μ•ˆμ”€
int[] nums2 = { 10, 20, 30 };

int[][] nums3 = new int[2][3];
int[][] nums4 = new int[][] { { 10, 20, 30 }, { 40, 50, 60 } };
int[][] nums5 = { { 10, 20, 30 }, { 40, 50, 60 } };

int[][][] nums6 = new int[2][2][3];
int[][][] nums7 = new int[][][] { { { 10, 20, 30 }, { 40, 50, 60 } }, { { 10, 20, 30 }, { 40, 50, 60 } } };
int[][][] nums8 = { { { 10, 20, 30 }, { 40, 50, 60 } }, { { 10, 20, 30 }, { 40, 50, 60 } } };

배열에 μ ‘κ·Όν•˜κΈ°

int[] nums1 = { 10, 20, 30, 40, 50 };

for (int i = 0; i < nums1.length; i++) { //λ°°μ—΄μ˜ 각 μš”μ†Œ 좜λ ₯
	System.out.println(nums1[i]);
}

int[][] nums2 = { { 10, 20, 30, 35 }, { 40, 50, 60, 35 } };

System.out.println(nums2.length); // 2?? -> nums2 μ•ˆμ— λ“€μ–΄μžˆλŠ” 일차원 λ°°μ—΄μ˜ κ°œμˆ˜λ‹€.

for (int i = 0; i < 2; i++) {
	for (int j = 0; j < 3; j++) {
		System.out.println(nums2[i][j]); // 각 μš”μ†Œ μ ‘κ·Όν•˜λŠ” 방법
	}
}

  1. λ°°μ—΄ > μ›ν•˜λŠ” 데이터 μ‘΄μž¬ν•˜λŠ”μ§€ 검색 > μžˆλ‹€ or μ—†λ‹€
    -> contains() λΌλŠ” λ©”μ†Œλ“œ 이름을 잘 μ“΄λ‹€.

  2. λ°°μ—΄ > μ›ν•˜λŠ” 데이터 μ‘΄μž¬ν•˜λŠ”μ§€ 검색 > λͺ‡λ²ˆμ§Έ 방에 μžˆλŠ”μ§€? > 방번호
    -> indexOf() λΌλŠ” λ©”μ†Œλ“œ 이름을 주둜 μ‚¬μš©ν•œλ‹€.

2차원 배열에 κ°’ λ„£κΈ°

int[][] nums = new int[5][5];

// 데이터 μž…λ ₯ > 문제
int n = 1;

for (int i = 0; i < 5; i++) { // 아직 λ°°μ—΄μ˜ 길이가 μ•„λ‹Œ μ •μˆ˜λ₯Ό μž…λ ₯ν–ˆλ‹€.
	for (int j = 0; j < 5; j++) { // 아직 λ°°μ—΄μ˜ 길이가 μ•„λ‹Œ μ •μˆ˜λ₯Ό μž…λ ₯ν–ˆλ‹€.
		nums[i][j] = n;
		n++;
	}
}

β—ˆEx34_String.java

λ¬Έμžμ—΄, String

  • JDK μ œκ³΅ν•˜λŠ” λ¬Έμžμ—΄ μ‘°μž‘ κΈ°λŠ₯

λ¬Έμžμ—΄(String), 문자(char)
λ¬Έμžμ—΄ == 문자의 집합
String = char

λ¬Έμžμ—΄ μ‘°μž‘ κΈ°λŠ₯κ³Ό λ°°μ—΄ μ‘°μž‘ κΈ°λŠ₯이 μœ μ‚¬ν•˜λ‹€.

λ¬Έμžμ—΄μ˜ 길이

=> int length()
-> λ¬Έμžμ—΄μ˜ κΈ€μž 수λ₯Ό λ°˜ν™˜ν•œλ‹€.

λ¬Έμžμ—΄ μΆ”μΆœ

  • char charAt(int index) -> μΈλ±μŠ€μ— ν•΄λ‹Ήν•˜λŠ” ν•œ 문자λ₯Ό μΆ”μΆœν•œλ‹€.
  • μžλ°”: Zero-based Index (0λΆ€ν„° μ‹œμž‘)

곡백 제거

  • String trim()
  • λ¬Έμžμ—΄ λ‚΄μ˜ 곡백(Whitespace > 슀페이슀, νƒ­, κ°œν–‰)문자λ₯Ό 제거
  • λ¬Έμžμ—΄μ˜ μ‹œμž‘κ³Ό 끝에 μ‘΄μž¬ν•˜λŠ” 곡백을 μ œκ±°ν•œλ‹€.(μ€‘μš”)
    -> 검색 엔진, κ²Œμ‹œνŒμ—μ„œ 주둜 μ‚¬μš©ν•œλ‹€. μ‚¬μš©μž 편의λ₯Ό μœ„ν•œλ‹€.

μ½”λ“œ 리뷰

μ–΄μ œ ν–ˆλ˜ μ½”λ“œλ¦¬λ·° 쀑 λ‚΄ μ½”λ“œλ‘œ λ°œν‘œν•œ 45, 46λ²ˆμ„ λ¬Έμ„œν™” ν•˜μ—¬ μ œμΆœν–ˆλ‹€.

51~62번 쀑 μ–΄λ ΅κ±°λ‚˜ λŒ€ν‘œλ˜λŠ” λ¬Έμ œλ“€μ„ νŒ€μ›λ“€κ³Ό μ½”λ“œλ¦¬λ·°ν–ˆλ‹€. (51, 56, 58, 60, 61, 62)
62λ²ˆμ€ λ‹€μŒλ²ˆμ— λ‹€μ‹œ μΆ”κ°€ μ„€λͺ… ν•˜κΈ°λ‘œ ν–ˆλ‹€.

문제 풀이

70 ~ 73, 75, 76을 ν’€μ—ˆλ‹€. κ³Όμ œλŠ” 79λ²ˆκΉŒμ§€ μ£Όμ–΄μ‘Œλ‹€.

ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€μ˜ μ½”λ”© 기초 νŠΈλ ˆμ΄λ‹ 문제λ₯Ό λͺ‡ 개 ν’€μ—ˆλ‹€.
μ‚¬μš©λœ λ©”μ†Œλ“œλ‚˜ κ°œλ…μ΄λ‹€.

substring
Math.floor()
double to int -> μ†Œμˆ˜μ μ€ 버리고 λͺ«λ§Œ 남긴닀.

profile
μ°¨κ·Όμ°¨κ·Ό ν•˜λ‚˜μ”©

1개의 λŒ“κΈ€

comment-user-thumbnail
2023λ…„ 7μ›” 27일

쒋은 κΈ€ κ°μ‚¬ν•©λ‹ˆλ‹€. 자주 μ˜¬κ²Œμš” :)

λ‹΅κΈ€ 달기