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

[TIL - Codesquad] ์ž๋ฐ” ArrayList null๊ฐ’ ์ œ๊ฑฐ / ๋Œ€์†Œ๋ฌธ์ž ํ™•์ธ ๋ณธ๋ฌธ

TIL

[TIL - Codesquad] ์ž๋ฐ” ArrayList null๊ฐ’ ์ œ๊ฑฐ / ๋Œ€์†Œ๋ฌธ์ž ํ™•์ธ

๋น„๋น„ bibi 2021. 1. 20. 17:52

[210120]

์˜ค๋Š˜์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ‘ธ๋Š” ๋‚ .
ํ•„์ˆ˜๋ฌธ์ œ๋งŒ ํ’€๊ณ  ์‰ฌ๋ ค๊ณ  ํ•˜๋‹ค๊ฐ€, ์ƒ๊ฐ๋ณด๋‹ค ์ผ์ฐ ํ’€๋ ค์„œ ์„ ํƒ๋ฌธ์ œ ํ•˜๋‚˜๋ฅผ ๋” ๋„์ „ํ–ˆ๋‹ค(์™„์„ฑํ•˜์ง„ ๋ชปํ–ˆ์ง€๋งŒ)
ํ˜ธ๋ˆ…์Šค๊ฐ€ ์˜ค๋Š˜์€ ์‰ฌ๊ณ  ์‹ถ์œผ๋ฉด ์ข€ ์‰ฌ๋ผ๊ณ  ๊ณต์‹์ ์œผ๋กœ(?) ๋ง์”€ํ•˜์…”์„œ, ์˜ค๋Š˜ ์ €๋…์—๋Š” ์กฐ๊ธˆ ์‰ฌ๊ณ  ์ผ์ฐ ์ž๋ ค๊ณ  ํ•œ๋‹ค.
์ด๋Ÿฐ ๋‚ ๋„ ์žˆ์–ด์•ผ์ง€๐Ÿ

์˜ค๋Š˜์˜ ํ˜ธ๋ˆ…์Šค ๋ง์”€

  • ๋ฐฑ์—”๋“œ์˜ ๋ชฉํ‘œ๋Š” '์ฃฝ์ง€ ์•Š๋Š” ํ”„๋กœ๊ทธ๋žจ'์„ ๋งŒ๋“œ๋Š” ๊ฒƒ.
  • ํฌ๊ธฐํ•˜์ง€ ๋ง๊ณ  ์ฐจ๊ทผ์ฐจ๊ทผ ํ•˜๋‹ค ๋ณด๋ฉด ๋‹ค ๋œ๋‹ค.
    ๋ฉ˜๋ถ•์ด ์™”๋‹ค = ์š•์‹ฌ์„ ๋ถ€๋ ธ๋‹ค๋Š” ๊ฒƒ.
    ๋‚ด ์ˆ˜์ค€์—์„œ ํ•  ์ˆ˜ ์žˆ๋Š” ์ผ์„ ํ•˜์ž.
  • ๋ฏธ์…˜์ด ์–ด๋ ต๋‹ค๊ณ  ๋„ˆ๋ฌด ์ ˆ๋งํ•˜์ง€ ๋ง๊ณ , ์ดํ•ด๋˜๋Š” ๋งŒํผ๋งŒ ์ดํ•ดํ•˜๊ณ  ๋„˜์–ด๊ฐ€๋„ ๊ดœ์ฐฎ๋‹ค.
  • ์ด ๊ณผ์ •์€ ๋งˆ๋ผํ†ค์ด ์•„๋‹ˆ๋ผ ์กฐ๊น…์ด๋‹ค.
    ๊ฒฝ์Ÿํ•˜๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ ํ•จ๊ป˜ ์ž๋ผ์•ผ ํ•˜๊ณ , ํž˜๋“ค๋ฉด ์‰ฌ์–ด๊ฐˆ ์ค„๋„ ์•Œ์•„์•ผ ํ•œ๋‹ค.
    ๋ˆ„๊ฐ€ ์ž˜ ํ•œ๋‹ค๊ณ  ๊ทธ ์‚ฌ๋žŒ์ด ์ด๊ธด ๊ฒƒ๋„ ์•„๋‹ˆ๋‹ค.
    ๋‚ด ์†๋„์— ๋งž์ถฐ์„œ ํŽ˜์ด์Šค๋ฅผ ์กฐ์ ˆํ•ด์•ผ ํ•œ๋‹ค.

TIL

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ’€์ด

ํ‘ผ ๋ฌธ์ œ : 64061, 42840

์‹œ๋„ํ–ˆ์ง€๋งŒ ๋ชป ํ‘ผ ๋ฌธ์ œ : 12930

  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋ฌธ์ œ๋ฅผ ์ž๋ฐ”๋กœ ํ’€ ๋•Œ๋Š” main๋ฉ”์†Œ๋“œ ๋Œ€์‹  solution๋ฉ”์†Œ๋“œ (๋ฌธ์ œ์—์„œ ์ œ์‹œํ•˜๋Š” ํ•จ์ˆ˜๋ช…)๋ฅผ ์ œ์ถœํ•œ๋‹ค.
  • ํ…Œ์ŠคํŠธ์šฉ ์ถœ๋ ฅ๋ฌธ์€ ์ง€์šฐ๊ณ  ์ œ์ถœํ•œ๋‹ค.
  • '์ฝ”๋“œ ์‹คํ–‰'๋ฒ„ํŠผ์œผ๋กœ ์ œ์ถœ ์ „์— ๋งˆ์Œ์˜ ์ค€๋น„(?)๋ฅผ ํ•  ์ˆ˜ ์žˆ์–ด์„œ ์ข‹์•˜๋‹ค.

์ž๋ฐ” ArrayList์—์„œ null๊ฐ’ ์ œ๊ฑฐํ•˜๊ธฐ

  • .removeAll(Collections.singleton(null)); ๋กœ ํ•ด๊ฒฐํ–ˆ๋‹ค.
    Collection์ด ๋“ค์–ด๊ฐ€๋Š” ๊ฑธ ๋ด์„œ ์ปฌ๋ ‰์…˜ ๊ฐ์ฒด๋Š” ๋‹ค ๊ฐ€๋Šฅํ•œ ๊ฒƒ ๊ฐ™๊ณ ,
    singleton์€ ๋ญ˜๊นŒ? ๊ฒ€์ƒ‰ํ•˜๋‹ˆ ๋””์ž์ธํŒจํ„ด ์ž๋ฃŒ๊ฐ€ ๋Œ€๋ถ€๋ถ„์ด๋‹ค๐Ÿ˜…

์ž๋ฐ” ๋ฌธ์ž์˜ ๋Œ€์†Œ๋ฌธ์ž ํ™•์ธํ•˜๊ธฐ

  • Character.isUpperCase(๋Œ€์ƒ๋ฌธ์ž.charAt(0))
    : ๋Œ€์ƒ๋ฌธ์ž๋ฅผ char๋กœ ๋ณ€ํ™˜ํ•œ ๋’ค ๋Œ€๋ฌธ์ž์ธ์ง€ ํ™•์ธํ•˜๋Š” ์ฝ”๋“œ. ๋Œ€๋ฌธ์ž๋ผ๋ฉด true๋ฐ˜ํ™˜.
    Character.isLowerCase(๋Œ€์ƒ๋ฌธ์ž.charAt(0)) ๋Š” ๋ฐ˜๋Œ€๋กœ ๋Œ€์ƒ๋ฌธ์ž๊ฐ€ ์†Œ๋ฌธ์ž์ผ ๋–„ true ๋ฐ˜ํ™˜.