๐Ÿ”์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฐฑ์ค€

[๋ฐฑ์ค€/python] 10250๋ฒˆ : ACM ํ˜ธํ…”

ye3_ 2021. 3. 9. 18:59

๋ฌธ์ œ 

ACM ํ˜ธํ…” ๋งค๋‹ˆ์ € ์ง€์šฐ๋Š” ์†๋‹˜์ด ๋„์ฐฉํ•˜๋Š” ๋Œ€๋กœ ๋นˆ ๋ฐฉ์„ ๋ฐฐ์ •ํ•˜๊ณ  ์žˆ๋‹ค. ๊ณ ๊ฐ ์„ค๋ฌธ์กฐ์‚ฌ์— ๋”ฐ๋ฅด๋ฉด ์†๋‹˜๋“ค์€ ํ˜ธํ…” ์ •๋ฌธ์œผ๋กœ๋ถ€ํ„ฐ ๊ฑธ์–ด์„œ ๊ฐ€์žฅ ์งง์€ ๊ฑฐ๋ฆฌ์— ์žˆ๋Š” ๋ฐฉ์„ ์„ ํ˜ธํ•œ๋‹ค๊ณ  ํ•œ๋‹ค. ์—ฌ๋Ÿฌ๋ถ„์€ ์ง€์šฐ๋ฅผ ๋„์™€ ์ค„ ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๊ณ ์ž ํ•œ๋‹ค. ์ฆ‰ ์„ค๋ฌธ์กฐ์‚ฌ ๊ฒฐ๊ณผ ๋Œ€๋กœ ํ˜ธํ…” ์ •๋ฌธ์œผ๋กœ๋ถ€ํ„ฐ ๊ฑท๋Š” ๊ฑฐ๋ฆฌ๊ฐ€ ๊ฐ€์žฅ ์งง๋„๋ก ๋ฐฉ์„ ๋ฐฐ์ •ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๊ณ ์ž ํ•œ๋‹ค.

๋ฌธ์ œ๋ฅผ ๋‹จ์ˆœํ™”ํ•˜๊ธฐ ์œ„ํ•ด์„œ ํ˜ธํ…”์€ ์ง์‚ฌ๊ฐํ˜• ๋ชจ์–‘์ด๋ผ๊ณ  ๊ฐ€์ •ํ•˜์ž. ๊ฐ ์ธต์— W ๊ฐœ์˜ ๋ฐฉ์ด ์žˆ๋Š” H ์ธต ๊ฑด๋ฌผ์ด๋ผ๊ณ  ๊ฐ€์ •ํ•˜์ž (1 ≤ H, W ≤ 99). ๊ทธ๋ฆฌ๊ณ  ์—˜๋ฆฌ๋ฒ ์ดํ„ฐ๋Š” ๊ฐ€์žฅ ์™ผ์ชฝ์— ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์ž(๊ทธ๋ฆผ 1 ์ฐธ๊ณ ). ์ด๋Ÿฐ ํ˜•ํƒœ์˜ ํ˜ธํ…”์„ H × W ํ˜•ํƒœ ํ˜ธํ…”์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ํ˜ธํ…” ์ •๋ฌธ์€ ์ผ์ธต ์—˜๋ฆฌ๋ฒ ์ดํ„ฐ ๋ฐ”๋กœ ์•ž์— ์žˆ๋Š”๋ฐ, ์ •๋ฌธ์—์„œ ์—˜๋ฆฌ๋ฒ ์ดํ„ฐ๊นŒ์ง€์˜ ๊ฑฐ๋ฆฌ๋Š” ๋ฌด์‹œํ•œ๋‹ค. ๋˜ ๋ชจ๋“  ์ธ์ ‘ํ•œ ๋‘ ๋ฐฉ ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ๋Š” ๊ฐ™์€ ๊ฑฐ๋ฆฌ(๊ฑฐ๋ฆฌ 1)๋ผ๊ณ  ๊ฐ€์ •ํ•˜๊ณ  ํ˜ธํ…”์˜ ์ •๋ฉด ์ชฝ์—๋งŒ ๋ฐฉ์ด ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•œ๋‹ค.

๊ทธ๋ฆผ 1. H = 6 ์ด๊ณ  W = 12 ์ธ H × W ํ˜ธํ…”์„ ๊ฐ„๋žตํ•˜๊ฒŒ ๋‚˜ํƒ€๋‚ธ ๊ทธ๋ฆผ

๋ฐฉ ๋ฒˆํ˜ธ๋Š” YXX ๋‚˜ YYXX ํ˜•ํƒœ์ธ๋ฐ ์—ฌ๊ธฐ์„œ Y ๋‚˜ YY ๋Š” ์ธต ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๊ณ  XX ๋Š” ์—˜๋ฆฌ๋ฒ ์ดํ„ฐ์—์„œ๋ถ€ํ„ฐ ์„ธ์—ˆ์„ ๋•Œ์˜ ๋ฒˆํ˜ธ๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. ์ฆ‰, ๊ทธ๋ฆผ 1 ์—์„œ ๋น—๊ธˆ์œผ๋กœ ํ‘œ์‹œํ•œ ๋ฐฉ์€ 305 ํ˜ธ๊ฐ€ ๋œ๋‹ค.

์†๋‹˜์€ ์—˜๋ฆฌ๋ฒ ์ดํ„ฐ๋ฅผ ํƒ€๊ณ  ์ด๋™ํ•˜๋Š” ๊ฑฐ๋ฆฌ๋Š” ์‹ ๊ฒฝ ์“ฐ์ง€ ์•Š๋Š”๋‹ค. ๋‹ค๋งŒ ๊ฑท๋Š” ๊ฑฐ๋ฆฌ๊ฐ€ ๊ฐ™์„ ๋•Œ์—๋Š” ์•„๋ž˜์ธต์˜ ๋ฐฉ์„ ๋” ์„ ํ˜ธํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด 102 ํ˜ธ ๋ฐฉ๋ณด๋‹ค๋Š” 301 ํ˜ธ ๋ฐฉ์„ ๋” ์„ ํ˜ธํ•˜๋Š”๋ฐ, 102 ํ˜ธ๋Š” ๊ฑฐ๋ฆฌ 2 ๋งŒํผ ๊ฑธ์–ด์•ผ ํ•˜์ง€๋งŒ 301 ํ˜ธ๋Š” ๊ฑฐ๋ฆฌ 1 ๋งŒํผ๋งŒ ๊ฑธ์œผ๋ฉด ๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๊ฐ™์€ ์ด์œ ๋กœ 102 ํ˜ธ๋ณด๋‹ค 2101 ํ˜ธ๋ฅผ ๋” ์„ ํ˜ธํ•œ๋‹ค.

์—ฌ๋Ÿฌ๋ถ„์ด ์ž‘์„ฑํ•  ํ”„๋กœ๊ทธ๋žจ์€ ์ดˆ๊ธฐ์— ๋ชจ๋“  ๋ฐฉ์ด ๋น„์–ด์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์— ์ด ์ •์ฑ…์— ๋”ฐ๋ผ N ๋ฒˆ์งธ๋กœ ๋„์ฐฉํ•œ ์†๋‹˜์—๊ฒŒ ๋ฐฐ์ •๋  ๋ฐฉ ๋ฒˆํ˜ธ๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค. ์ฒซ ๋ฒˆ์งธ ์†๋‹˜์€ 101 ํ˜ธ, ๋‘ ๋ฒˆ์งธ ์†๋‹˜์€ 201 ํ˜ธ ๋“ฑ๊ณผ ๊ฐ™์ด ๋ฐฐ์ •ํ•œ๋‹ค. ๊ทธ๋ฆผ 1 ์˜ ๊ฒฝ์šฐ๋ฅผ ์˜ˆ๋กœ ๋“ค๋ฉด, H = 6์ด๋ฏ€๋กœ 10 ๋ฒˆ์งธ ์†๋‹˜์€ 402 ํ˜ธ์— ๋ฐฐ์ •ํ•ด์•ผ ํ•œ๋‹ค.

 

์ž…๋ ฅ

ํ”„๋กœ๊ทธ๋žจ์€ ํ‘œ์ค€ ์ž…๋ ฅ์—์„œ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›๋Š”๋‹ค. ํ”„๋กœ๊ทธ๋žจ์˜ ์ž…๋ ฅ์€ T ๊ฐœ์˜ ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋Š”๋ฐ T ๋Š” ์ž…๋ ฅ์˜ ๋งจ ์ฒซ ์ค„์— ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ๋Š” ํ•œ ํ–‰์œผ๋กœ์„œ H, W, N, ์„ธ ์ •์ˆ˜๋ฅผ ํฌํ•จํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ๊ฐ๊ฐ ํ˜ธํ…”์˜ ์ธต ์ˆ˜, ๊ฐ ์ธต์˜ ๋ฐฉ ์ˆ˜, ๋ช‡ ๋ฒˆ์งธ ์†๋‹˜์ธ์ง€๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค(1 ≤ H, W ≤ 99, 1 ≤ N ≤ H × W). 

 

์ถœ๋ ฅ

ํ”„๋กœ๊ทธ๋žจ์€ ํ‘œ์ค€ ์ถœ๋ ฅ์— ์ถœ๋ ฅํ•œ๋‹ค. ๊ฐ ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ๋งˆ๋‹ค ์ •ํ™•ํžˆ ํ•œ ํ–‰์„ ์ถœ๋ ฅํ•˜๋Š”๋ฐ, ๋‚ด์šฉ์€ N ๋ฒˆ์งธ ์†๋‹˜์—๊ฒŒ ๋ฐฐ์ •๋˜์–ด์•ผ ํ•˜๋Š” ๋ฐฉ ๋ฒˆํ˜ธ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

 

์ •๋‹ต

for i in range(int(input())):
    H, W, N = map(int, input().split())

    if N % H == 0:
        x = N//H
        y = H
    else:
        x = N//H + 1
        y = N % H

    print(y*100+x)

๋ฐฉ๋ฒˆํ˜ธ์˜ ์•ž์ž๋ฆฌ ์ˆ˜๋Š” ํ˜ธํ…”์˜ ์ธต ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๊ณ  ๋’ท์ž๋ฆฌ ์ˆ˜๋Š” ๋ช‡ ๋ฒˆ์งธ ๋ฐฉ์ธ์ง€๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.

1์ธต๋ถ€ํ„ฐ H์ธต๊นŒ์ง€ ์•ž ์ชฝ์˜ ๋ฐฉ๋ถ€ํ„ฐ ์†๋‹˜์„ ์ฑ„์šฐ๊ธฐ ๋•Œ๋ฌธ์— 

์ธต์ˆ˜๋กœ ๋‚˜๋ˆ„๋ฉด ๋ช‡์ธต์— ๋ฐฐ์ •๋˜์–ด์•ผ ํ•˜๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ๋‹ค. 

if N % H == 0:
        x = N//H
        y = H

์—ฌ๊ธฐ์„œ x๋Š” ๋ช‡ ๋ฒˆ์งธ ๋ฐฉ์ธ์ง€๋ฅผ, y๋Š” ์ธต์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.

๋งŒ์•ฝ H๋กœ ๋‚˜๋ˆ„์—ˆ์„ ๋•Œ ๋‚˜๋จธ์ง€๊ฐ€ 0์ด๋ผ๋ฉด

๋‚˜๋ˆˆ ๋ชซ์˜ ๊ฐ€์žฅ ๊ผญ๋Œ€๊ธฐ ์ธต์— ๋ฐฐ์ •๋ฐ›๋Š”๋‹ค๋Š” ์˜๋ฏธ๊ฐ€ ๋œ๋‹ค.

๋”ฐ๋ผ์„œ ๋‚˜๋ˆˆ ๋ชซ(N//H)๋ฒˆ์งธ ๋ฐฉ์˜ ๊ผญ๋Œ€๊ธฐ ์ธต์ธ H์ธต์— ๋ฐฐ์ •๋ฐ›๊ฒŒ ๋œ๋‹ค.

else:
   x = N//H + 1
   y = N % H

๋‚˜๋จธ์ง€๊ฐ€ ์žˆ๋‹ค๋ฉด 

๋‚˜๋ˆˆ ๋ชซ๋ฒˆ์งธ ๋ฐฉ์€ ๋ชจ๋“  ์ธต์˜ ๋ฐฉ์ด ๋‹ค ์ฐผ๋‹ค๋Š” ์˜๋ฏธ๋กœ

๋‚˜๋ˆˆ ๋ชซ๋ณด๋‹ค ํ•˜๋‚˜ ํฐ ์ˆ˜(N//H + 1)๋ฒˆ์งธ ๋ฐฉ์˜ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€(N%H)์ธต์— ๋ฐฐ์ •๋ฐ›๊ฒŒ ๋œ๋‹ค.