Algorithm/SWEA
2023.04.12
๋์ ํ์ด 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 ์กฐ๊ฑด๋ฃ์ด์ ๊ตฌํ๊ธฐ ๋๋ถ๋ถ ์ด๋ ๊ฒ ํธ๋๋ฏ?
์๊ฒฉ์ฆ/์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ
2023.04.11
1. ํ์ฌ IPv4์ ํ์ฅํ์ผ๋ก IPv4๊ฐ ๊ฐ์ง๊ณ ์๋ ์ฃผ์ ๊ณ ๊ฐ, ๋ณด์์ฑ, ์ด๋์ฑ ์ง์ ๋ฑ์ ๋ฌธ์ ์ ์ ํด๊ฒฐํ๊ธฐ ์ํด์ ๊ฐ๋ฐ๋ 128๋นํธ ์ฃผ์์ฒด๊ณ๋ฅผ ๊ฐ๋ ์ฐจ์ธ๋ ์ธํฐ๋ท ํ๋กํ ์ฝ์ ๋ฌด์์ธ๊ฐ? ๋๋ณด๊ธฐ IPv6 ํ์ฌ IPv4์ ํ์ฅํ์ผ๋ก ๊ฐ๋ฐ๋ ์ฐจ์ธ๋ ์ธํฐ๋ท ํ๋กํ ์ฝ์ IPv6์
๋๋ค. IPv6๋ IPv4์ 32๋นํธ ์ฃผ์ ์ฒด๊ณ๋ฅผ ๋์ฒดํ์ฌ 128๋นํธ ์ฃผ์ ์ฒด๊ณ๋ฅผ ์ฌ์ฉํ๋ฉฐ, ์ด๋ฅผ ํตํด ์ฃผ์ ๊ณ ๊ฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ , ๋ ๋ง์ ์ฅ์น๋ค์ด ์ธํฐ๋ท์ ์ ์ํ ์ ์๋๋ก ์ง์ํฉ๋๋ค. ๋ํ, IPv6๋ IPv4์ ๋น๊ตํ์ฌ ๋ ๋์ ๋ณด์์ฑ์ ์ ๊ณตํ๋ฉฐ, ๋ชจ๋ฐ์ผ ํ๊ฒฝ์์์ ์ด๋์ฑ ์ง์์ ๋ณด๋ค ํจ์จ์ ์ผ๋ก ์ ๊ณตํฉ๋๋ค. 2. ๋ชฉ์ ์ ๋ฐ๋ฅธ ๋์์ธ ํจํด์ ์ ํ์๋ ์์ฑ, ๊ตฌ์กฐ, ( ) ์ด/๊ฐ ์๋ค. ๊ดํธ ( ) ์์ ์๋ง๋ ์ ํ์ ์ฐ์์ค. ๋๋ณด..
Algorithm/SWEA
2023.04.11
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
2023.04.10
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
2023.04.09
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์ ์์ฑํ๊ธฐ ๋๋ฌธ์ ๋ผ์ธ์ด ๊ธธ์ด์ ธ๋ ๋ฌธ์ ๋ํ๊ธฐ์ ๋ํ ๋ถํธํจ์ด..
์๊ฒฉ์ฆ/์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ
2023.04.08
1. ๋ฆฌํฉํ ๋ง์ ๋ชฉ์ ์ ๋ํ์ฌ ์์ ํ์์ค. ๋๋ณด๊ธฐ ๋ฆฌํฉํ ๋ง์ ํตํด ์ฝ๋์ ๊ฐ๋
์ฑ, ์ ์ง๋ณด์์ฑ, ํ์ฅ์ฑ, ์ฑ๋ฅ ๋ฑ์ ํฅ์์ํค๋ ๊ฒ์ด ๋ชฉ์ ๋ฆฌํฉํ ๋ง์ด๋ ๊ฒฐ๊ณผ์ ๋ณ๊ฒฝ ์์ด ์ฝ๋์ ๊ตฌ์กฐ๋ฅผ ์ฌ์กฐ์ ํ๋ค๋ ๋ป์ด๋ค. ๋ฆฌํฉํ ๋ง์ ๋ชฉ์ ์ ์ฝ๋์ ๊ตฌ์กฐ์ ์ค๊ณ๋ฅผ ๊ฐ์ ํ๊ณ , ์ ์ง๋ณด์๋ฅผ ์ฉ์ดํ๊ฒ ํ๋ฉฐ, ์ฝ๋์ ๊ฐ๋
์ฑ๊ณผ ์ดํด๋๋ฅผ ๋์ด๋ ๊ฒ์
๋๋ค. ๋ฆฌํฉํ ๋ง์ ๊ธฐ์กด์ ์ฝ๋๋ฅผ ์์ ํ์ง ์๊ณ ๋, ์ฝ๋์ ๋์์ ์ ์งํ ์ฑ ๊ตฌ์กฐ์ ์ค๊ณ๋ฅผ ๊ฐ์ ํ๋ ๊ธฐ์ ์
๋๋ค. ์ฝ๋์ ๊ตฌ์กฐ์ ์ค๊ณ๊ฐ ๊ฐ์ ๋จ์ผ๋ก์จ, ์ฝ๋์ ์ ์ง๋ณด์๊ฐ ๋์ฑ ์ฌ์์ง๋ฉฐ, ์ฝ๋์ ๊ฐ๋
์ฑ๊ณผ ์ดํด๋๊ฐ ๋์์ง๊ฒ ๋ฉ๋๋ค. ์ด๋ ํ๋ก๊ทธ๋จ์ ํ์ฅ์ฑ๊ณผ ์ ์ฐ์ฑ์ ๋์ด๊ณ , ๊ฒฐํจ์ ์ค์ด๋ฉฐ, ํ๋ก์ ํธ์ ์์ฐ์ฑ์ ํฅ์์ํค๋๋ฐ ๋์์ด ๋ฉ๋๋ค. ๋ฆฌํฉํ ๋ง์ ๋๊ฐ ์ฝ๋์ ์ค๋ณต, ๋ณต์ก๋, ๊ธธ์ด ๋ฑ์ ๊ฐ์ ํ๋ ๊ฒ์ด ๋ชฉ..
Spring/Spring DB
2023.04.08
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๋ ์ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ๊ทผํด์ ๋ฐ์ดํฐ๋ฅผ ์ ์ ์ฅํ๊ณ ์กฐํํ ์ ์๋์ง ํ์ธํ๋ ๊ฒ์ด ํ์ํ๋ค. ํ
์คํธ ์ผ์ด์ค์์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ํ ์ ์๊ฒ 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
2023.04.08
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(..