Bibi's DevLog ๐Ÿค“๐ŸŽ

[์ฝ”๋“œ์Šค์ฟผ๋“œ ์ฝ”์ฝ”์•„] ๊ฐœ์ธํ”„๋กœ์ ํŠธ 3์ผ์ฐจ - contains() ๋ฐ ์ค‘๋ณต์ œ๊ฑฐ ๋ณธ๋ฌธ

Records/Codesquad - cocoa Java

[์ฝ”๋“œ์Šค์ฟผ๋“œ ์ฝ”์ฝ”์•„] ๊ฐœ์ธํ”„๋กœ์ ํŠธ 3์ผ์ฐจ - contains() ๋ฐ ์ค‘๋ณต์ œ๊ฑฐ

๋น„๋น„ bibi 2020. 12. 2. 18:06

๋ฒŒ์จ 3์ผ์ฐจ๊ฐ€ ๋˜์—ˆ๋‹ค! ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ ๋งŒ๋“ค ์ˆ˜ ์žˆ์„๊นŒ?ใ…‹ใ…‹ใ… ใ… 

 

ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ ์„ค๊ณ„

- 1. ๋ฒ ์ด์Šค ํ•„ํ„ฐ๋ง : (ํ•„์ˆ˜)์ตœ์†Œ 1๊ฐœ ์„ ํƒ. ์ตœ๋Œ€ 3๊ฐœ ์„ ํƒ. 
- 2. ํ† ํ•‘ ํ•„ํ„ฐ๋ง : (์„ ํƒ) ์ตœ๋Œ€ 2๊ฐœ ์„ ํƒ.
- 3. ์‹œ๋Ÿฝ ํ•„ํ„ฐ๋ง : (์„ ํƒ)์ตœ๋Œ€ 1๊ฐœ ์„ ํƒ.
- 4. ํ•„ํ„ฐ๋ง๊ฒฐ๊ณผ : 1. 2. 3.์˜ ๊ฒฐ๊ณผ์— ๋ชจ๋‘ ํฌํ•จ๋˜๋Š” (๊ต์ง‘ํ•ฉ์ธ)ํ”Œ๋ ˆ์ด๋ฒ„๋งŒ์„ ๊ฐ€์ง€๊ณ  ๊ฒฐ๊ณผ๋กœ ์ถœ๋ ฅํ•ด์ฃผ๊ธฐ.

 

๋ฌธ์ œ : ArrayList์—์„œ ๋‚ด๊ฐ€ ์ฐพ์œผ๋ ค๋Š” ๊ฐ์ฒด๋ฅผ ๋ชจ๋‘ ์ฐพ์•„ ์ธ๋ฑ์Šค๋กœ ๋ฐ›๋Š” ๋ฐฉ๋ฒ•์ด ์—†๋‚˜?
indexOf๋Š” ๋งจ ์ฒ˜์Œ๋ถ€ํ„ฐ ์ฐพ์€ ๊ฒฐ๊ณผ 1๊ฐœ, lastIndexOf๋Š” ๋งจ ๋๋ถ€ํ„ฐ ์ฐพ์€ ๊ฒฐ๊ณผ 1๊ฐœ๋ฅผ ๋ฆฌํ„ดํ•˜๋Š”๋ฐ
๋‘ ๋ฉ”์„œ๋“œ๋ฅผ ๋‹ค ์จ์„œ ์ฐพ๋Š”๋‹ค ํ•ด๋„ 2๊ฐœ๋ฐ–์— ๊ฒฐ๊ณผ๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†๋‹ค.ใ… ใ… ..

๊ทธ๋ฃนํ”ผ์–ด์„ธ์…˜(?) ๊ฒฐ๊ณผ..

String๋ฉ”์„œ๋“œ์˜ contains()๋‚˜ equals()๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค - from ๋‚˜๋‚˜
HashMap์„ ์‚ฌ์šฉํ•ด Key๋กœ ์•„์ด์Šคํฌ๋ฆผ ์ด๋ฆ„์„, Value๋กœ ์•„์ด์Šคํฌ๋ฆผ ์ •๋ณด๋ฅผ ๋„ฃ์œผ๋ฉด ๋  ๊ฒƒ ๊ฐ™๋‹ค - from cooper

-> ํ•„ํ„ฐ๋ง ๋กœ์ง์€ contains๋ฅผ ๋จผ์ € ์จ ๋ณด๊ณ ,
-> ๋ฒ ์ด์Šค/ํ† ํ•‘/์‹œ๋Ÿฝ ์นดํ…Œ๊ณ ๋ฆฌ ๊ตฌ์„ฑ์€ ํ•ด์‰ฌ๋งต์œผ๋กœ ์จ ๋ด์•ผ๊ฒ ๋‹ค.
key = ๋ฒ ์ด์Šค1, value = ๋ฒ ์ด์Šค2.
-> ์ „์ฒด ์‹œ๊ทธ๋‹ˆ์ฒ˜/์‹œ์ฆŒ ํ”Œ๋ ˆ์ด๋ฒ„ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ํ•ด์‰ฌ๋งต์œผ๋กœ ํ• ์ง€๋Š” ํ•œ๋ฒˆ ์ƒ๊ฐํ•ด ๋ด์•ผ๊ฒ ๋‹ค.

 

 

โœ” ์˜ค๋Š˜ ํ•œ ์ž‘์—…

- contains()๋กœ 1๋‹จ๊ณ„ ๊ฒ€์ƒ‰์€ ์™„๋ฃŒํ–ˆ๋‹ค! (๋ฒ ์ด์Šค)
๋ฒ ์ด์Šค๋ช…์„ ํฌํ•จํ•œ ์•„์ด์Šคํฌ๋ฆผ์„ ๊ฒ€์ƒ‰ํ•ด ์˜ค๋Š” ๋ฐฉ์‹.

all-record.tistory.com/89๋ฅผ ์ฐธ๊ณ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

 

- 2์ฐจ ํ•„ํ„ฐ๋ง์„ ์œ„ํ•œ category.txt์™€ Model - HashMap ์ƒ์„ฑ
 ๊ธฐ์กด 1์ฐจํ•„ํ„ฐ๋ง ๋ฐฐ์—ด๋ช…์€ bases/toppings/syrups๋กœ ๋ณ€๊ฒฝํ•˜๊ณ 
 ์ƒˆ๋กœ์šด ํ•ด์‰ฌ๋งต allBases, allToppings, allSyrups์˜ key = 1์ฐจ ์นดํ…Œ๊ณ ๋ฆฌ, value = 2์ฐจ ์นดํ…Œ๊ณ ๋ฆฌ๋กœ ์ƒ์„ฑ.
 (2์ฐจ์นดํ…Œ๊ณ ๋ฆฌ๊ฐ€ ์—†๋Š” ํ•ญ๋ชฉ๋„ ์กด์žฌํ•จ)

- ๋ฒ ์ด์Šค ํ•„ํ„ฐ๋ง ๊ฒฐ๊ณผ ArrayList์˜ ์ค‘๋ณต์ œ๊ฑฐ ๋ฉ”์„œ๋“œ ๊ตฌํ˜„!
m.blog.naver.com/pgh7092/221130579329 ๋ฅผ ์ฐธ๊ณ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.
 ์—ญ์‹œ .contains()๋ฅผ ํ™œ์šฉํ•œ ๋ฐฉ๋ฒ•์ด๋‹ค! (๋ฆฌ์ŠคํŠธ ์š”์†Œ ํ•œ ๊ฐœ์”ฉ ํ™•์ธํ•˜๋Š” ๋ฐฉ๋ฒ• ํ™œ์šฉ)

์ค‘๋ณต์ œ๊ฑฐํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋‹ด์„ ์ƒˆ๋กœ์šด ArrayList arr2๋ฅผ ํ•˜๋‚˜ ๋” ๋งŒ๋“ค์–ด์„œ,
๊ธฐ์กด ๋ฐฐ์—ด/ArrayList arr1์„ ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ ๋Œ๋ฉฐ
arr2์— ๊ฐ™์€ ๊ฐ’์ด ์—†์„ ๋•Œ๋งŒ  (!arr2.contains(arr1.get(i)))
ํ•ด๋‹น ๊ฐ’์„ ๋„ฃ๋Š” arr2.add(arr1.get(i))
๋ฐฉ์‹์ด๋‹ค.

 

โœ… ๋‚ด์ผ ํ•  ์ผ

- ๋ฒ ์ด์Šค ํ•˜์œ„ ์นดํ…Œ๊ณ ๋ฆฌ๋กœ๋„ ๊ฒ€์ƒ‰๋˜๋„๋ก ๊ตฌํ˜„ !
 : ์นดํ…Œ๊ณ ๋ฆฌ ํ•ด์‰ฌ๋งต์˜ key๋กœ value๊ฐ’ ๊ฒ€์ƒ‰
 '์ปคํ”ผ'์นดํ…Œ๊ณ ๋ฆฌ ์„ ํƒํ•˜๋ฉด '์ž๋ชจ์นด'๊ฒฐ๊ณผ๋„ ๋‚˜์™€์•ผ ํ•˜๊ณ ,
 '๊ฒฌ๊ณผ๋ฅ˜'์นดํ…Œ๊ณ ๋ฆฌ ์„ ํƒํ•˜๋ฉด 'ํ˜ธ๋‘'๊ฒฐ๊ณผ๋„ ๋‚˜์™€์•ผ ํ•จ.

- ์‹œ๋Ÿฝ, ํ† ํ•‘์—๋„ ๋˜‘๊ฐ™์€ ํ•„ํ„ฐ๋ง ๊ตฌํ˜„!

- ๊ฒ€์ƒ‰๊ฒฐ๊ณผ์— ๋ฒ ์ด์Šค, ํ† ํ•‘, ์‹œ๋Ÿฝ ๊ต์ง‘ํ•ฉ๋งŒ ์ถœ๋ ฅ๋˜๋„๋ก ๊ตฌํ˜„!
 ์„ ํƒํ•œ ๋ฒ ์ด์Šค, ํ† ํ•‘, ์‹œ๋Ÿฝ์„ ๋ชจ๋‘ ํฌํ•จํ•˜๋Š” ์•„์ด์Šคํฌ๋ฆผ๋งŒ ์ถœ๋ ฅํ•˜๊ธฐ.
 -> ์˜ค๋Š˜ ๋ฐฐ์šด ์ค‘๋ณต์ œ๊ฑฐ๋ฉ”์„œ๋“œ๋ฅผ ์‘์šฉํ•ด์•ผ๊ฒ ๋‹ค.
  ๋ฒ ์ด์Šคํ•„ํ„ฐ๋ง๊ฒฐ๊ณผ/ํ† ํ•‘ํ•„ํ„ฐ๋ง๊ฒฐ๊ณผ/์‹œ๋Ÿฝํ•„ํ„ฐ๋ง๊ฒฐ๊ณผ ์— ๋ชจ๋‘ ์žˆ๋Š” ์•„์ด์Šคํฌ๋ฆผ์ผ๋•Œ๋งŒ ์ƒˆ๋กœ์šด ๊ฒฐ๊ณผ๊ฐ’๋ฐฐ์—ด์— ๋‹ด๊ธฐ.

- ๋ฒ ์ด์Šค(์ตœ์†Œ1 ์ตœ๋Œ€3), ํ† ํ•‘(์ตœ๋Œ€2), ์‹œ๋Ÿฝ(์ตœ๋Œ€1) ์„ ํƒ ์˜ค๋ฅ˜์— ๋Œ€์‘ํ•˜๋Š” ์˜ˆ์™ธ์ฒ˜๋ฆฌ ๋กœ์ง ๊ตฌํ˜„

+ ์ฝ˜์†” ์ถœ๋ ฅ ๊ฐ€๋Šฅํ•œ ์˜ˆ์˜๊ฒŒ.. :)..

+ ์•Œ๋ ˆ๋ฅด๊ธฐ์„ฑ๋ถ„ ๋”ฐ๋ผ ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ? ์ถ”๊ฐ€.