ํ์ด์ฌ format() ํ ๋ฐฉ์ ๋๋ด๊ธฐ: ์๋ฆฟ์(0 padding) + ์ด์ง์ ๋ณํ + ์ค์ ์์(๋น๋ฐ์ง๋)

ํ์ด์ฌ์์ ์ซ์๋ฅผ ๋ฌธ์์ด๋ก “์์๊ฒ” ๋ฐ๊พธ๊ณ ์ถ์ ๋๊ฐ ๋ง๋ค.
๋ํ์ ์ผ๋ก๋
- ์๋ฆฟ์ ๋ง์ถ๊ธฐ (์์ 0 ์ฑ์ฐ๊ธฐ)
- ์ด์ง์/16์ง์ ๋ณํ
- ์์์ ์๋ฆฌ ๊ณ ์
- ์ ๋ ฌ/๊ฐ๊ฒฉ ๋ง์ถ๊ธฐ
์ด๋ด ๋ ๊ฐ์ฅ ๊น๋ํ ๋๊ตฌ๊ฐ format()(๋๋ f-string ํฌ๋งท)์ด๋ค.
์ด๋ฒ ํฌ์คํ ์์๋ ์๋ ํ ์ค์ด ์ ํํ ๋ฌด์จ ๋ป์ธ์ง๋ถํฐ, format()์ ์ธ์ /์ด๋ป๊ฒ ์ฐ๋์ง๊น์ง ์ค์ ์ค์ฌ์ผ๋ก ์ ๋ฆฌํ๋ค.
1. format(value, spec) ๊ธฐ๋ณธ ๊ฐ๋
format()์ ๊ฐ์ ์ํ๋ ํ์์ ๋ฌธ์์ด๋ก ๋ฐ๊ฟ์ค๋ค.
์ฆ,
- value: ๋ณํํ ๊ฐ
- spec: “์ด๋ค ํ์์ผ๋ก ๋ฐ๊ฟ์ง” ๊ท์น ๋ฌธ์์ด(ํฌ๋งท ์คํ)
2. ์๋ฆฟ์ ๋ง์ถ๊ธฐ(์์ 0 ์ฑ์ฐ๊ธฐ): "0{width}d"
“์ ์ 42๋ฅผ 5์๋ฆฌ๋ก ๋ง๋ค๊ณ , ๋ถ์กฑํ ์๋ฆฌ๋ 0์ผ๋ก ์ฑ์๋ผ”:
๊ตฌ์กฐ๋ฅผ ํ๋ฉด:
- 0 : ๋น ์๋ฆฌ๋ฅผ 0์ผ๋ก ์ฑ์
- 5 : ์ ์ฒด ํญ(width) 5์๋ฆฌ
- d : 10์ง์ ์ ์(decimal)
3. ์ด์ง์๋ ๋๊ฐ์ด ๋๋ค: "0{width}b"
์ด์ง์(binary)๋ b๋ฅผ ์ฐ๋ฉด ๋๋ค.
์ฌ๊ธฐ์๋ ๋๊ฐ์ด:
- 0 : ์์ 0์ผ๋ก ์ฑ์
- width : ์ด ์๋ฆฟ์
- b : ์ด์ง์
4. ํต์ฌ ํ ์ค ํด๋ถ: format(a | b, f"0{n}b")
(1) a | b : ๋นํธ OR ์ฐ์ฐ
|๋ ๋นํธ OR ์ฐ์ฐ์๋ค. ๊ฐ์ ์๋ฆฌ์์
- 0 | 0 → 0
- 0 | 1 → 1
- 1 | 0 → 1
- 1 | 1 → 1
์ฆ ๋ ์ค ํ๋๋ผ๋ 1์ด๋ฉด 1์ด ๋๋ค.
(2) f"0{n}b" : “n์๋ฆฌ ์ด์ง์ + ์์ 0์ผ๋ก ํจ๋ฉ”
n=5๋ผ๋ฉด:
๊ทธ๋์ ์ด ํ ์ค์:
“(a|b) ๊ฒฐ๊ณผ๋ฅผ n์๋ฆฌ ์ด์ง์ ๋ฌธ์์ด๋ก ๋ฐ๊ฟ๋ผ. ๋ถ์กฑํ๋ฉด ์ผ์ชฝ์ 0์ผ๋ก ์ฑ์๋ผ.”
5. bin(x)[2:].zfill(n) vs format(x, f"0{n}b")
์ด์ง์ + padding์ ๋ง๋ค ๋ ํํ ๋ ๋ฐฉ์์ด ์๋ค.
๋ฐฉ์ A: bin() + zfill()
๋ฐฉ์ B: format()
๋ ๋ค ๊ฒฐ๊ณผ๋ ๊ฑฐ์ ๊ฐ์ง๋ง, format()์
**“ํฌ๋งท ๊ท์น์ ํ ๋ฌธ์์ด๋ก ํํ”**ํ๊ธฐ ๋๋ฌธ์ ๋ ๊น๋ํ๊ณ ์ฝ๊ธฐ ์ข๋ค.
6. ์ค์ ์์: ๋น๋ฐ์ง๋(์นด์นด์ค) ํ์ด๊ฐ ์ ์ด๋ ๊ฒ ๊น๋ํด์ง๋?
๋น๋ฐ์ง๋ ๋ฌธ์ ๋ ๋ณดํต:
- 1์ด๋ฉด #
- 0์ด๋ฉด ๊ณต๋ฐฑ " "
๊ทธ๋ฆฌ๊ณ ๋ ์ง๋๋ฅผ ํฉ์ณค์ ๋ ํ๋๋ผ๋ ๋ฒฝ์ด๋ฉด ๋ฒฝ์ด๋๊น OR๊ฐ ๋ฑ ๋ง๋๋ค.
์ฌ๊ธฐ์ ํฌ์ธํธ๋:
- a | b : ํฉ์น ์ง๋(๋ฒฝ์ด ํ๋๋ผ๋ ์์ผ๋ฉด 1)
- format(..., f"0{n}b") : ์ง๋ ํ ์ค์ n์นธ์ผ๋ก ๋ง์ถฐ ์ถ๋ ฅ
- replace() : ์๊ฐํ(#/๊ณต๋ฐฑ)๋ก ๋ณํ
7. format()์ ์ธ์ ์ฐ๋ฉด ์ข์๊น?
(1) ๊ณ ์ ํญ ์ถ๋ ฅ์ด ํ์ํ ๋
- ID, ์ฝ๋, ๋ ์ง ๋ฑ์์ "000123" ๊ฐ์ ํ์
(2) ์ด์ง์/16์ง์๋ก ๋ฐ๊ฟ์ผ ํ ๋
(3) ์์์ ์๋ฆฌ ๊ณ ์
8. ์์ฝ
- format(value, spec)๋ ๊ฐ์ ์ํ๋ ํ์์ ๋ฌธ์์ด๋ก ๋ฐ๊พธ๋ ๋๊ตฌ
- "05d" = 10์ง์ ์ ์, 5์๋ฆฌ, ์์ 0์ผ๋ก ์ฑ์
- "0{n}b" = ์ด์ง์, n์๋ฆฌ, ์์ 0์ผ๋ก ์ฑ์
- format(a | b, f"0{n}b")๋
“OR ๊ฒฐ๊ณผ๋ฅผ n์๋ฆฌ ์ด์ง์ ๋ฌธ์์ด๋ก(0 padding) ๋ง๋ค๊ธฐ”
'๐ฉโ๐ปDeveloper ๐ก > ๐คนโโ๏ธAlgorithm & Coding Test๐' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| MLA 2์ฃผ์ปท ใฑใฑ! (0) | 2026.01.26 |
|---|---|
| Two Pointers(ํฌํฌ์ธํฐ) โ โ์์ชฝ์์ ์ขํ๊ฐ๋ฉฐ O(n)์ผ๋ก ๋๋ด๋ ๊ธฐ์ โ (1) | 2026.01.11 |
| ์ต์๊ณต๋ฐฐ์(LCM) ํ ๋ฐฉ์ ๋๋ด๊ธฐ: lcm = a*b // gcd(a,b) + ๋์ (0) | 2026.01.11 |
| ์ผ์ฑ ์ฝ๋ฉํ ์คํธ ํฉ๊ฒฉ์ ์ ๋ฆฌ (ADV / PRO) (1) | 2026.01.09 |