์ ์ฒด ๊ธ
-
์์ ํ๋ณ ์๊ณ ๋ฆฌ์ฆ(JAVA)Algorithm & Data Structure 2024. 4. 6. 13:48
์์ 1๊ณผ ์๊ธฐ ์์ ์ ์ ์ธํ ์์ฐ์๋ค์ ์ฝ์๋ก ๊ฐ๊ณ ์์ง ์์ ์์ด๋ค. (ex : 2, 3, 5, 7 ...) ์ ๊ณฑ๊ทผ์ ์ด์ฉํ ๋ฐฉ์ public boolean isPrime(long num) { if (num == 1) { return false; } for (int i = 2; i
-
[๋ฉด์ ์ ์ํ CS ์ ๊ณต์ง์ ๋ ธํธ] 1์ฅ ๋์์ธ ํจํดComputer Science 2024. 4. 3. 21:18
๋ค์ด๊ฐ๊ธฐ ์ด ๊ธ์ "๋ฉด์ ์ ์ํ CS ์ ๊ณต์ง์ ๋ ธํธ" ์์ ์ ํตํด ๋ฐฐ์ด ๋ด์ฉ ์ค 1์ฅ ๋์์ธ ํจํด์ ๊ดํ ๋ด์ฉ์ ๋๋ค. - ๋ ธ์ถ๋ชจ๋ ํจํด(Revealing Module Pattern) ๋ ธ์ถ๋ชจ๋ ํจํด์ ์ฆ์ ์คํ ํจ์๋ฅผ ํตํด private, public ๊ฐ์ ์ ๊ทผ ์ ์ด์๋ฅผ ๋ง๋๋ ํจํด์ ๋งํ๋ค. - public ํด๋์ค์ ์ ์๋ ํจ์์์ ์ ๊ทผ ๊ฐ๋ฅํ๋ฉฐ ์์ ํด๋์ค์ ์ธ๋ถ ํด๋์ค์์ ์ ๊ทผ ๊ฐ๋ฅํ ๋ฒ์ - protected ํด๋์ค์ ์ ์๋ ํจ์์์ ์ ๊ทผ ๊ฐ๋ฅํ๋ฉฐ ์์ ํด๋์ค์์์ ์ ๊ทผ ๊ฐ๋ฅํ์ง๋ง, ์ธ๋ถ ํด๋์ค์์ ์ ๊ทผ ๋ถ๊ฐ๋ฅํ ๋ฒ์ - private ํด๋์ค์์ ์ ์๋ ํจ์์์๋ง ์ ๊ทผ ๊ฐ๋ฅ(์์ ํด๋์ค์ ์ธ๋ถ ํด๋์ค์์ ์ ๊ทผ ๋ถ๊ฐ๋ฅํ ๋ฒ์) - MVC ํจํด MVC ํจํด์ ๋ชจ๋ธ(Model), ๋ทฐ(View), ์ปจํธ๋กค๋ฌ..
-
@RequestBody, @ResponseBody์ ๋ํด์Back-end/Spring 2023. 12. 28. 14:16
๋ค์ด๊ฐ๊ธฐ Spring์์ ๋น๋๊ธฐ ํต์ ์ ์ํด ์ฃผ๋ก Controller์์ ์ฌ์ฉํ๋ ์ด๋ ธํ ์ด์ @RequestBody, @ResponseBody์ ๋ํด์ ์์๋ณด์. @RequestBody ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ๋ก ๋ณด๋ด๋ JSON ํ์์ HTTP Body๋ฅผ ์๋ฐ ๊ฐ์ฒด๋ก ๋ณํํ๋ ์ญํ ์ ํ๋ค. @Getter @NoArgsConstructor @AllArgsConstructor public class AddArticleRequest { private String title; private String content; } @RestController @RequiredArgsConstructor public class BlogApiController { private final BlogService blogService..
-
HTTP Status Code, ResponseEntity์ ๋ํด์Back-end/Spring 2023. 12. 23. 15:58
๋ค์ด๊ฐ๊ธฐ HTTP ์๋ต์ ์ ์ดํ ์ ์๋ ResponseEntity ๊ฐ์ฒด์ ๋ํด์ ์์๋ณด์. ResponseEntity ResponseEntity๋ HttpEntity๋ฅผ ์์ํ์ฌ ๊ตฌํ๋์ด ์๋ค. HttpEntity์ ๊ตฌํ ํ๋๋ฅผ ์ดํด๋ณด์. public class HttpEntity { public static final HttpEntity EMPTY = new HttpEntity(); private final HttpHeaders headers; @Nullable private final T body; ... } HttpEntity๋ HttpHeader๋ฅผ ์ค์ ํ ์ ์๋ ํ๋์, ์ ๋ค๋ฆญ ํ์ ์ผ๋ก Body ํ๋๋ฅผ ๊ฐ์ง๊ณ ์๋ค. ๋ค์์ผ๋ก ์ด๋ฅผ ์์ํ๋ ResponseEntity์ ํ๋๋ฅผ ๋ณด์. public ..
-
@NoArgsConstructor, @AllArgsConstructor, @RequiredArgsConstructor์ ๋ํด์Back-end/Spring 2023. 12. 19. 17:01
๋ค์ด๊ฐ๊ธฐ Lombok ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ด๋ ธํ ์ด์ @AllArgsConstructor, @NoArgsConstructor, @RequiredArgsConstructor์ ๋ํด์ ์์๋ณด์. @NoArgsConstructor @NoArgsConstructor๋ ํ๋ผ๋ฏธํฐ๊ฐ ์๋ ๋ํดํธ ์์ฑ์๋ฅผ ์๋์ผ๋ก ๋ง๋ค์ด์ฃผ๋ ์ด๋ ธํ ์ด์ ์ด๋ค. @NoArgsConstructor public class Dog { private String name; private int age; // Omitted Getter & Setter } public class Dog { private String name; private int age; // Omitted Getter & Setter public Dog() { } } @AllArgsCon..
-
API, REST API, RESTful API์ ๋ํด์Back-end 2023. 12. 18. 13:52
๋ค์ด๊ฐ๊ธฐ REST API ์ ์, ํน์ง, ์ฅ์ ๊ณผ ๋จ์ , ์ฌ์ฉ ๊ท์น์ ๋ํด์ ์์๋ณด์. REST API๋ฅผ ์ค๋ช ํ๊ธฐ ์์ API์ ๋ํด์ ๋จผ์ ์์๋ณธ๋ค. API API๋ Application Programming Interface์ ์ถ์ฝํ์ผ๋ก ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ฌ์ฉํ ์ ์๋๋ก ์ด์ ์ฒด์ ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๊ฐ ์ ๊ณตํ๋ ๊ธฐ๋ฅ์ ์ ์ดํ ์ ์๊ฒ ๋ง๋ ์ธํฐํ์ด์ค๋ฅผ ๋งํ๋ค. \ ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ์๋ฒ์ ์ ๋ฌํ๊ณ , ์๋ฒ์ ๊ฒฐ๊ณผ๋ฌผ์ ํด๋ผ์ด์ธํธ์๊ฒ ๋๋ ค์ฃผ๋ ์ญํ ์ ํ๋ค. REST, REST API, RESTful API REST๋ Representational State Transfer์ ์ถ์ฝํ์ผ๋ก ์์์ ์ด๋ฆ์ผ๋ก ๊ตฌ๋ถํด ์์์ ์ํ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๊ฒ์ ๋งํ๋ค. REST์ ํน์ง์ผ๋ก๋ ์ธํฐํ์ด์ค ์ผ๊ด์ฑ, ๋ฌด์ํ, ์บ์ ์ฒ๋ฆฌ ๊ฐ๋ฅ..
-
[C++] ํฌ ํฌ์ธํฐ(Two Pointers) ์๊ณ ๋ฆฌ์ฆAlgorithm & Data Structure 2022. 2. 5. 15:49
๋ค์ด๊ฐ๋ฉฐ ๋ฐฑ์ค 3273๋ฒ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ค๋ ๋ฐ 2์ค for๋ฌธ์ผ๋ก ์ฝ๋๋ฅผ ์ง์ ์ ์ถํ๋ฉด ์๊ฐ ์ด๊ณผ๊ฐ ๋์ ์ด์ ๋ํ ํด๊ฒฐ๋ฐฉ์์ ์์๋ณด๊ฒ ๋์๋ค. ํฌ ํฌ์ธํฐ(Two Pointers)๋ก ํด๊ฒฐํ๋ฉด ์ฝ๊ฒ ํด๊ฒฐํ ์ ์๋ค๋ ๊ฒ์ ์๊ณ ์ด์ ๋ํด ์ค๋ช ํ๋ค. ํฌ ํฌ์ธํฐ๋? ํฌ ํฌ์ธํฐ(Two Pointers)๋ 1์ฐจ์ ๋ฐฐ์ด์์ ๋ ๊ฐ์ ํฌ์ธํฐ๋ฅผ ์กฐ์ํ์ฌ ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ป๋ ์๊ณ ๋ฆฌ์ฆ์ ๋งํ๋ค. ์ด์ฒ๋ผ ๋ ๊ฐ์ ํฌ์ธํฐ๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฐ๋ณต๋ฌธ์ ์ฌ๋ฌ๋ฒ ์ํํ๋ ๊ฒ ๋ณด๋ค ์๊ฐ์ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ ์ ์๋ค. ์ต์ ์ ๊ฒฝ์ฐ์๋ ๋ ๊ฐ์ ํฌ์ธํฐ๊ฐ ๋ฐฐ์ด์ ๋ง์ง๋ง ์ธ๋ฑ์ค๋ก ์ค๊ฒ ๋๋ค. ๋ฐ๋ผ์ ์๊ฐ ๋ณต์ก๋๋ O(n)์ด๋ค. ํฌ ํฌ์ธํฐ ์๊ณ ๋ฆฌ์ฆ ๋ฐฑ์ค 2003๋ฒ ๋ฌธ์ ๋ฅผ ์์๋ก ์๊ณ ๋ฆฌ์ฆ์ ์ดํดํด๋ณด์. ์ด ๋ฌธ์ ์์๋ N๊น์ง์ ๋ฐฐ์ด์ด ์๊ณ ๋ถ๋ถํฉ์ด M์ด ..
-
[๋ฐฑ์ค(BOJ) 2480] ์ฃผ์ฌ์ ์ธ๊ฐ (C++)PS(Problem Solving)/C++ 2022. 2. 1. 19:12
๋ฌธ์ ๋งํฌ https://www.acmicpc.net/problem/2480 ๋ฌธ์ ์ ๋ณด ์ ๋ ฅ ์ฒซ์งธ ์ค์ 3๊ฐ์ ๋์ด ๋น์นธ์ ์ฌ์ด์ ๋๊ณ ๊ฐ๊ฐ ์ฃผ์ด์ง๋ค. ์ถ๋ ฅ ์ฒซ์งธ ์ค์ ๊ฒ์์ ์๊ธ์ ์ถ๋ ฅ ํ๋ค. ํ์ด abs ๋ฉ์๋์ max ๋ฉ์๋๋ฅผ ์ด์ฉํด์ ํ์ดํ๋ค. ์์ค ์ฝ๋ #include using namespace std; int main(void) { ios::sync_with_stdio(0); cin.tie(0); int a, b, c; cin >> a >> b >> c; int ans = 0; if (a == b && b == c) { ans = 10000 + a * 1000; } else if (abs(a - b) == 0 || abs(a - c) == 0 || abs(b - c) == 0) { if (a..