์ „์ฒด ๊ธ€

Algorithm/SWEA

[SWEA - D2] 1945. ๊ฐ„๋‹จํ•œ ์†Œ์ธ์ˆ˜๋ถ„ํ•ด

๋‚˜์˜ ํ’€์ด T = int(input()) # ์—ฌ๋Ÿฌ๊ฐœ์˜ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๊ฐ€ ์ฃผ์–ด์ง€๋ฏ€๋กœ, ๊ฐ๊ฐ์„ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. for t in range(1, T + 1): n = int(input()) arr = [2,3,5,7,11] print("#"+str(t) , end=" ") for i in arr: cnt = 0 while n%i ==0: cnt += 1 n = n//i print(cnt , end=" ") print() ๋ฐฐ์—ด๋กœ ๋งŒ๋“ค๊ณ  ๋ฐ˜๋ณตํ•˜๊ฒŒ ๋งŒ๋“ค์—ˆ๋‹ค. ๋ฐฐ์—ด ๋ฐ˜๋ณต ์ˆ˜ํ–‰ํ•  ๋•Œ๋งˆ๋‹ค ์นด์šดํ„ฐ ๋ณ€์ˆ˜๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜๊ณ  ๊ฐ’์„ ๊ตฌํ•˜๊ณ  ์ถœ๋ ฅ ๋‹ค๋ฅธํ’€์ด ์ฐพ์•„๋ดค๋Š”๋ฐ ๋ฐฐ์—ด for ๋ฌธ์— while ์กฐ๊ฑด๋„ฃ์–ด์„œ ๊ตฌํ•˜๊ธฐ ๋Œ€๋ถ€๋ถ„ ์ด๋ ‡๊ฒŒ ํ‘ธ๋Š”๋“ฏ?

์ž๊ฒฉ์ฆ/์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ

[์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ ์‹ค๊ธฐ] 2020๋…„ 4ํšŒ ๊ธฐ์ถœ๋ฌธ์ œ

1. ํ˜„์žฌ IPv4์˜ ํ™•์žฅํ˜•์œผ๋กœ IPv4๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ฃผ์†Œ ๊ณ ๊ฐˆ, ๋ณด์•ˆ์„ฑ, ์ด๋™์„ฑ ์ง€์› ๋“ฑ์˜ ๋ฌธ์ œ์ ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ ๊ฐœ๋ฐœ๋œ 128๋น„ํŠธ ์ฃผ์†Œ์ฒด๊ณ„๋ฅผ ๊ฐ–๋Š” ์ฐจ์„ธ๋Œ€ ์ธํ„ฐ๋„ท ํ”„๋กœํ† ์ฝœ์€ ๋ฌด์—‡์ธ๊ฐ€? ๋”๋ณด๊ธฐ IPv6 ํ˜„์žฌ IPv4์˜ ํ™•์žฅํ˜•์œผ๋กœ ๊ฐœ๋ฐœ๋œ ์ฐจ์„ธ๋Œ€ ์ธํ„ฐ๋„ท ํ”„๋กœํ† ์ฝœ์€ IPv6์ž…๋‹ˆ๋‹ค. IPv6๋Š” IPv4์˜ 32๋น„ํŠธ ์ฃผ์†Œ ์ฒด๊ณ„๋ฅผ ๋Œ€์ฒดํ•˜์—ฌ 128๋น„ํŠธ ์ฃผ์†Œ ์ฒด๊ณ„๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด ์ฃผ์†Œ ๊ณ ๊ฐˆ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ , ๋” ๋งŽ์€ ์žฅ์น˜๋“ค์ด ์ธํ„ฐ๋„ท์— ์ ‘์†ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, IPv6๋Š” IPv4์™€ ๋น„๊ตํ•˜์—ฌ ๋” ๋†’์€ ๋ณด์•ˆ์„ฑ์„ ์ œ๊ณตํ•˜๋ฉฐ, ๋ชจ๋ฐ”์ผ ํ™˜๊ฒฝ์—์„œ์˜ ์ด๋™์„ฑ ์ง€์›์„ ๋ณด๋‹ค ํšจ์œจ์ ์œผ๋กœ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. 2. ๋ชฉ์ ์— ๋”ฐ๋ฅธ ๋””์ž์ธ ํŒจํ„ด์˜ ์œ ํ˜•์—๋Š” ์ƒ์„ฑ, ๊ตฌ์กฐ, ( ) ์ด/๊ฐ€ ์žˆ๋‹ค. ๊ด„ํ˜ธ ( ) ์•ˆ์— ์•Œ๋งž๋Š” ์œ ํ˜•์„ ์“ฐ์‹œ์˜ค. ๋”๋ณด..

Algorithm/SWEA

[SWEA] D1 ๋ฌธ์ œํ’€์ด

19๋ฌธ์ œ ํ’€์ด ์™„๋ฃŒ ์˜ค๋žœ๋งŒ์— ๋ฌธ์ œํ‘ธ๋‹ˆ๊นŒ ๋‹ค ๊นŒ๋จน์—ˆ๋„ค; format ํ™œ์šฉ {} ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ์˜ ์ข…๋ฅ˜์— ์ƒ๊ด€์—†์ด print๋ฌธ์œผ๋กœ ํ‘œํ˜„์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. print("์˜ฌํ•ด๋Š” {}๋…„, ๋‚ด๋…„์€ {}๋…„ ์ž…๋‹ˆ๋‹ค.".format(2020, 2021)) print("๋‚˜๋Š” {}์„ ํƒ‘๋‹ˆ๋‹ค.".format('์ง€ํ•˜์ฒ ')) ord( ๋ฌธ์ž ) : ์•„์Šคํ‚ค์ฝ”๋“œ๋กœ ๋Œ€์ƒ์˜ ์ˆซ์ž ๊ฐ’์„ ๋ฆฌํ„ดํ•จ chr( ์ˆซ์ž ) : ์•„์Šคํ‚ค์ฝ”๋“œ์—์„œ ๋Œ€์ƒ์˜ ๋ฌธ์ž ๊ฐ’์„ ๋ฆฌํ„ดํ•จ 2056. ์—ฐ์›”์ผ ๋‹ฌ๋ ฅ ๋‚˜์˜ ํ’€์ด T = int(input()) for t in range(1, T + 1): cal = input() year = (cal[0:4]) mon = cal[4:6] day = cal[6:8] if int(mon) >= 13 or int(mon) == 0 : r..

Develop/API

ChatGPT API๋ฅผ ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ ์จ๋ณด๊ธฐ

https://platform.openai.com/docs/api-reference OpenAI API An API for accessing new AI models developed by OpenAI platform.openai.com API Key ๋ฐœ๊ธ‰ ๋ฐ›๊ธฐ ๋ฐœ๊ธ‰ ๋ฐ›์€ ํ‚ค๋Š” ๋‹ค์‹œ ๋ณผ ์ˆ˜ ์—†๋‹ค. ๋‹ค๋ฅธ๊ณณ์— ๋ณด๊ด€ํ•˜์ž APIํ‚ค๋ฅผ ํฌํ•จํ•ด์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ๊นƒํ—™์— ์—…๋กœ๋“œํ•˜๋ฉด ๋‹ค์‹œ ์ƒ์„ฑํ•ด์•ผ๋œ๋‹ค. ๋ชจ๋ธ ์„ ํƒ text-davinci-003 ์„ ์„ ํƒํ–ˆ๋‹ค. RestTemplate์œผ๋กœ API ์š”์ฒญํ•˜๊ธฐ @Service public class ChatGptService { private String API_KEY = ""; private static final String ENDPOINT = "https://api.openai.c..

Spring/Spring DB

[์Šคํ”„๋ง DB 2ํŽธ] - 6. MyBatis

MyBatis JdbcTemplate๊ณผ ๋น„๊ตํ•ด์„œ MyBatis์˜ ๊ฐ€์žฅ ๋งค๋ ฅ์ ์ธ ์ ์€ SQL์„ XML์— ํŽธ๋ฆฌํ•˜๊ฒŒ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๊ณ  ๋˜ ๋™์  ์ฟผ๋ฆฌ๋ฅผ ๋งค์šฐ ํŽธ๋ฆฌํ•˜๊ฒŒ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์ด๋‹ค. JdbcTemplate String sql = "update item " + "set item_name=:itemName, price=:price, quantity=:quantity " + "where id=:id"; ์ฝ”๋“œ ๋ผ์ธ ๋ณ€๊ฒฝ์‹œ ๋„์–ด์“ฐ๊ธฐ๋ฅผ ์กฐ์‹ฌํ•ด์•ผ ํ•œ๋‹ค. MyBatis update item set item_name=#{itemName}, price=#{price}, quantity=#{quantity} where id = #{id} MyBatis๋Š” XML์— ์ž‘์„ฑํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ผ์ธ์ด ๊ธธ์–ด์ ธ๋„ ๋ฌธ์ž ๋”ํ•˜๊ธฐ์— ๋Œ€ํ•œ ๋ถˆํŽธํ•จ์ด..

์ž๊ฒฉ์ฆ/์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ

[์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ ์‹ค๊ธฐ] 2020๋…„ 3ํšŒ ๊ธฐ์ถœ๋ฌธ์ œ

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

Spring/Spring DB

[์Šคํ”„๋ง DB 2ํŽธ] - 5. ๋ฐ์ดํ„ฐ ์ ‘๊ทผ ๊ธฐ์ˆ  - ํ…Œ์ŠคํŠธ

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๋™ ์‹ค์ œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ ‘๊ทผํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ž˜ ์ €์žฅํ•˜๊ณ  ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ํ•„์š”ํ•˜๋‹ค. ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์—์„œ๋„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ ‘์†ํ•  ์ˆ˜ ์žˆ๊ฒŒ test์˜ application.properties ๋ฅผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ˆ˜์ •ํ•˜์ž. spring.profiles.active=test spring.datasource.url=jdbc:h2:tcp://localhost/~/test spring.datasource.username=sa logging.level.org.springframework.jdbc=debug ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋ฅผ ์‹คํ–‰ํ•  ๋•Œ ๊ณผ๊ฑฐ์— ์„œ๋ฒ„๋ฅผ ์‹คํ–‰ํ•˜๋ฉด์„œ ์ €์žฅํ–ˆ๋˜ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณด๊ด€๋˜์–ด ์žˆ๋‹ค. ์ด ๋ฐ์ดํ„ฐ๊ฐ€ ํ˜„์žฌ ํ…Œ์ŠคํŠธ์— ์˜ํ–ฅ์„ ์ค€๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ถ„๋ฆฌ ๋กœ์ปฌ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„์™€ ํ…Œ์ŠคํŠธ์—์„œ ..

Spring/Spring DB

[์Šคํ”„๋ง DB 2ํŽธ] - 4. JdbcTemplate - SimpleJdbcInsert

SimpleJdbcInsert INSERT SQL๋ฅผ ์ง์ ‘ ์ž‘์„ฑํ•˜์ง€ ์•Š์•„๋„ ๋˜๋„๋ก ํŽธ๋ฆฌํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค. private final NamedParameterJdbcTemplate template; private final SimpleJdbcInsert jdbcInsert; public JdbcTemplateItemRepositoryV3(DataSource dataSource) { this.template = new NamedParameterJdbcTemplate(dataSource); this.jdbcInsert = new SimpleJdbcInsert(dataSource) .withTableName("item") .usingGeneratedKeyColumns("id"); // .usingColumns(..

hello_u
๐Ÿ˜œ