์ „์ฒด ๊ธ€

์ „์ฒด ๊ธ€

    [Backjoon_1182] ๋ถ€๋ถ„์ˆ˜์—ด์˜ ํ•ฉ(Java)

    [Backjoon_1182] ๋ถ€๋ถ„์ˆ˜์—ด์˜ ํ•ฉ(Java)

    ๋ฌธ์ œ๋งํฌ https://www.acmicpc.net/problem/1182 1182๋ฒˆ: ๋ถ€๋ถ„์ˆ˜์—ด์˜ ํ•ฉ ์ฒซ์งธ ์ค„์— ์ •์ˆ˜์˜ ๊ฐœ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” N๊ณผ ์ •์ˆ˜ S๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ N ≤ 20, |S| ≤ 1,000,000) ๋‘˜์งธ ์ค„์— N๊ฐœ์˜ ์ •์ˆ˜๊ฐ€ ๋นˆ ์นธ์„ ์‚ฌ์ด์— ๋‘๊ณ  ์ฃผ์–ด์ง„๋‹ค. ์ฃผ์–ด์ง€๋Š” ์ •์ˆ˜์˜ ์ ˆ๋Œ“๊ฐ’์€ 100,000์„ ๋„˜์ง€ ์•Š๋Š”๋‹ค. www.acmicpc.net ๋ฌธ์ œ์„ค๋ช… ๋”๋ณด๊ธฐ ๋”๋ณด๊ธฐ ๋”๋ณด๊ธฐ ๋ฌธ์ œ N๊ฐœ์˜ ์ •์ˆ˜๋กœ ์ด๋ฃจ์–ด์ง„ ์ˆ˜์—ด์ด ์žˆ์„ ๋•Œ, ํฌ๊ธฐ๊ฐ€ ์–‘์ˆ˜์ธ ๋ถ€๋ถ„์ˆ˜์—ด ์ค‘์—์„œ ๊ทธ ์ˆ˜์—ด์˜ ์›์†Œ๋ฅผ ๋‹ค ๋”ํ•œ ๊ฐ’์ด S๊ฐ€ ๋˜๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ์ •์ˆ˜์˜ ๊ฐœ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” N๊ณผ ์ •์ˆ˜ S๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ N ≤ 20, |S| ≤ 1,000,000) ๋‘˜์งธ ์ค„์— N๊ฐœ์˜ ์ •์ˆ˜๊ฐ€ ๋นˆ ์นธ์„ ์‚ฌ์ด์— ..

    ๋น„ํŠธ๋งˆ์Šคํฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜

    ๋น„ํŠธ๋งˆ์Šคํฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜

    ๋„์ž… ๋น„ํŠธ๋งˆ์Šคํฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋น„ํŠธ์—ฐ์‚ฐ์ž๋ฅผ ํ™œ์šฉํ•ด ๊ฐ„๋‹จํ•˜๊ฒŒ ์ง‘ํ•ฉ์„ ํ‘œํ˜„ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ๋น„ํŠธ๋งˆ์Šคํฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ•˜๋‚˜์˜ ์ •์ˆ˜๋กœ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ง‘ํ•ฉ์„ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ œ์•ฝ์‚ฌํ•ญ์ด ์žˆ์œผ๋ฏ€๋กœ ์‚ฌ์šฉ์— ์žˆ์–ด ์ฃผ์˜ํ•ด์•ผํ•˜๋ฉฐ ์ฃผ๋กœ ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ์ฃผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค. ๋น„ํŠธ์—ฐ์‚ฐ | ์—ฐ์‚ฐ : or์—ฐ์‚ฐ์œผ๋กœ ๋‘˜ ์ค‘ ํ•˜๋‚˜๊ฐ€ 1์ด๋ฉด 1์ด๋‹ค. &์—ฐ์‚ฐ : and์—ฐ์‚ฐ์œผ๋กœ ๋‘˜ ๋‹ค 1์ด์–ด์•ผ 1์ด๋‹ค. ^์—ฐ์‚ฐ : xor์—ฐ์‚ฐ์œผ๋กœ ๋‘๊ฐœ์˜ ์—ฐ์‚ฐ์ž๊ฐ€ ์„œ๋กœ ๋‹ค๋ฅธ ๊ฐ’์ด์–ด์•ผ 1์ด๋‹ค. ~์—ฐ์‚ฐ : not์—ฐ์‚ฐ์œผ๋กœ 1์„ 0์œผ๋กœ 0์„ 1๋กœ ๋ณ€๊ฒฝํ•˜์—ฌ์ค€๋‹ค. -shift์—ฐ์‚ฐ- >> ์—ฐ์‚ฐ์€ ๋น„ํŠธ๋ฅผ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ๋ฏธ๋Š” ์—ฐ์‚ฐ์œผ๋กœ 2์˜ n์Šน์„ ๋‚˜๋ˆ„๋Š” ๊ฒƒ๊ณผ ๋™์ผํ•œ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜จ๋‹ค.

    HTTP Message Converter

    HTTP Message Converter

    ๋„์ž… HTTP์˜ ๋ฐ”๋””์— ๊ฐ’์„ ๋„˜๊ฒจ์ค„ ๋•Œ view๋ฅผ ํ™œ์šฉํ•˜์—ฌ html์„ ์ƒ์„ฑํ•ด์„œ ๋ณด๋‚ด์ค„ ์ˆ˜๋„ ์žˆ๊ณ  ๊ฐ„๋‹จํ•˜๊ฒŒ json์ด๋‚˜ String ํ˜•์‹์œผ๋กœ ๋„˜๊ฒจ์ค„ ์ˆ˜ ์žˆ๋‹ค. json์ด๋‚˜ Stringํ˜•์‹์œผ๋กœ ๋„˜๊ฒจ์ค„๋•Œ๋Š” HTTP Message Converter๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํŽธ๋ฆฌํ•˜๊ฒŒ ๋„˜๊ฒจ์ค„ ์ˆ˜ ์žˆ๋‹ค. ์˜ค๋Š˜์€ HTTP Message Converter๋ฅผ ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ๋‹ค. HTTP Message Converter HttpMessageConverter๋Š” requset๋กœ ๋„˜์–ด์˜จ body ๋ฐ์ดํ„ฐ ๊ฐ’์„ ๋ฐ›์•„์˜ค๊ฑฐ๋‚˜ ํ˜น์€ response๋กœ ๋ฐ์ดํ„ฐ๋ฅผ body์— ๋ณด๋‚ผ ๋•Œ ์ ์ ˆํ•˜๊ฒŒ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. ์˜ˆ๋ฅผ๋“ค์–ด @ResponseBody annotation์ด ๋ถ™์–ด์žˆ๋Š” ๋ฉ”์†Œ๋“œ๊ฐ€ ์‹คํ–‰์ด ๋  ๋•Œ ์ ์ ˆํ•œ HTTP Message Converter๋ฅผ ..

    SSR Response, Response Body

    SSR Response, Response Body

    ๋„์ž… ์„œ๋ฒ„์˜ ๊ฐœ๋ฐœ์ž๊ฐ€ ์‚ฌ์šฉ์ž์—๊ฒŒ ํŽ˜์ด์ง€๋ฅผ ๊ตฌ์ƒํ•˜์—ฌ ๋ณด์—ฌ์ฃผ๋Š” ๊ฒƒ์„ SSR(Server Side Rendering)์ด๋ผ๊ณ  ํ•œ๋‹ค. ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ข…๋ฅ˜๊ฐ€ ์žˆ์ง€๋งŒ ๋‚˜๋Š” ์ฃผ๋กœ Thymeleaf๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฒ˜๋ฆฌํ•œ๋‹ค. ์ด๋ฒˆ์— ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์€ ๋™์ ์ธ ์›นํŽ˜์ด์ง€๋ฅผ ์œ„ํ•ด SpringMVC์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋„˜๊ฒจ์ฃผ๋Š” ๋ฐฉ๋ฒ•๊ณผ Response Body๋ฅผ ์•Œ์•„๋ณด๊ฒ ๋‹ค. View๋กœ ๋ฐ์ดํ„ฐ ๋„˜๊ฒจ์ฃผ๋Š” ๋ฐฉ๋ฒ• Thymeleaf๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋„˜๊ฒจ์ฃผ๋Š” ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด๊ณ ์ž ํ•œ๋‹ค. @RequestMapping("/response-view-v1") public ModelAndView responseViewV1(){ ModelAndView mav = new ModelAndView("response/hello") .addObject("data","hello!");..