์ž๋ฐ” 23

๐Ÿ“š [CS๋ฉด์ ‘] ์›น ๋ฉด์ ‘ ์งˆ๋ฌธ [19] [Java]

1. String, Stringbuffer, Stringbuilder String์€ ๋ถˆ๋ณ€๊ฐ์ฒด(immutable)ํ•œ ๊ฐ์ฒด์ด๋‹ค. ํ•œ๋ฒˆ ์ƒ์„ฑ๋œ ๊ฐ์ฒด์˜ ๊ฐ’์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์œผ๋ฉฐ ๋ฌธ์ž์—ด์„ ์กฐ์ž‘ํ•  ๋•Œ ๋งˆ๋‹ค ์ƒˆ๋กœ์šด String ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋˜์–ด ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ฐจ์ง€ํ•˜๊ฒŒ ๋œ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ถˆ๋ณ€์„ฑ ๋•๋ถ„์— thread-safeํ•˜๊ณ , String๊ฐ์ฒด๋ฅผ ์ž์œ ๋กญ๊ฒŒ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ์–ด ์„ฑ๋Šฅ์ƒ ์ด์ ์ด ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค. String a = "abc"; a = "abcd"; String b = new String("abc"); ์šฐ๋ฆฌ๊ฐ€ ์ƒ๊ฐํ•˜๊ธฐ์—๋Š” ์ด ์ฝ”๋“œ๊ฐ€ abcd๋กœ ๋ณ€๊ฒฝ๋œ๋‹ค๊ณ  ์ƒ๊ฐํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ ์‹ค์ œ ๋‚ด๋ถ€์ ์œผ๋กœ๋Š” abc๊ฐ€ ์ €์žฅ๋˜์–ด ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ฐธ์กฐํ•˜๊ณ  ์žˆ๋‹ค๊ฐ€ abcd๋ฅผ ์ €์žฅํ•˜๋Š” ์ƒˆ๋กœ์šด ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์„ ์ฐธ์กฐํ•˜๊ฒŒ ๋œ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ abc๊ฐ€ ์ €์žฅ๋˜์–ด ์žˆ๋Š” ๋ฉ”..

โน๏ธ[SW Expert Academy] [Python] [D2] [1859] ๋ฐฑ๋งŒ ์žฅ์ž ํ”„๋กœ์ ํŠธ

๋ฌธ์ œ https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=2&problemLevel=3&problemLevel=4&problemLevel=5&contestProbId=AV5LrsUaDxcDFAXc&categoryId=AV5LrsUaDxcDFAXc&categoryType=CODE&problemTitle=&orderBy=INQUERY_COUNT&selectCodeLang=ALL&select-1=5&pageSize=10&pageIndex=1 SW Expert Academy SW ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์—ญ๋Ÿ‰ ๊ฐ•ํ™”์— ๋„์›€์ด ๋˜๋Š” ๋‹ค์–‘ํ•œ ํ•™์Šต ์ปจํ…์ธ ๋ฅผ ํ™•์ธํ•˜์„ธ์š”! swexpertacademy.com ํ’€์ด ์ฒ˜์Œ ๋ฌธ์ œ๋ฅผ ํ’€์–ด๋ณธ๋‹ค๋ฉด ์กฐ๊ธˆ ์ƒ๊ฐํ•˜๋Š” ๋ฐฉ..

โน๏ธ[SW Expert Academy] [Python] [D3] [1208] Flatten

๋ฌธ์ œ https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=2&problemLevel=3&problemLevel=4&contestProbId=AV139KOaABgCFAYh&categoryId=AV139KOaABgCFAYh&categoryType=CODE&problemTitle=&orderBy=INQUERY_COUNT&selectCodeLang=ALL&select-1=4&pageSize=10&pageIndex=1 SW Expert Academy SW ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์—ญ๋Ÿ‰ ๊ฐ•ํ™”์— ๋„์›€์ด ๋˜๋Š” ๋‹ค์–‘ํ•œ ํ•™์Šต ์ปจํ…์ธ ๋ฅผ ํ™•์ธํ•˜์„ธ์š”! swexpertacademy.com ํ’€์ด ์ž๊พธ ํ’€์ด๋Š” ํ•˜๊ณ  ์ด์ƒํ•œ ๊ณณ์—์„œ ์˜ค๋ฅ˜๋ฅผ ๋ฒ”ํ•œ๋‹ค. ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ์ฝ”๋“œ๋ฅผ..

๐Ÿ“š [CS๋ฉด์ ‘] ์›น ๋ฉด์ ‘ ์งˆ๋ฌธ [ 3์›” 1์ฃผ์ฐจ ] [ 1 ]

3์›” 1์ฃผ์ฐจ ๋‚ด์šฉ ์ •๋ฆฌ [3/1 ~ 3/10] + ์ด์ „ ๋‚ด์šฉ 3์›” 1์ฃผ์ฐจ์— ๋‹ค๋ฃฌ ๋‚ด์šฉ๋“ค๊ณผ ๊ทธ ์ด์ „์— 2์›”์— ๋‹ค๋ค˜๋˜ ๋‚ด์šฉ์— ๋Œ€ํ•ด ๋Œ€๋žต์ ์ธ ์ •๋ฆฌ๋ฅผ ํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ๋ฉด์ ‘ ์ค€๋น„๋ฅผ ํ•˜๋Š๋ผ ์ •๋ฆฌํ•˜๋Š”๋ฐ ์กฐ๊ธˆ ์‹œ๊ฐ„์ด ๊ฑธ๋ ธ๋‹ค. ๊ธฐ์ˆ  ๋ฉด์ ‘์—์„œ ๋‚˜์˜ฌ๋งŒํ•œ ๋‚ด์šฉ๋“ค๋กœ ๋‹ค๋ฃจ๊ณ  ์š”์ฆ˜์€ ๊ฑฐ์˜ ํ”„๋กœ์ ํŠธ ์œ„์ฃผ๋กœ ์งˆ๋ฌธ์„ ํ•œ๋‹ค์ง€๋งŒ ๊ธฐ๋ณธ์ ์ธ CS๋Š” ๋ชจ๋“  ๊ฐœ๋ฐœ์ž๋“ค์ด ์ค‘์š”ํ•˜๋‹ค๊ณ  ํ•œ๋‹ค. ์ž˜ ์ •๋ฆฌ๋ฅผ ํ•ด์„œ ๋ฉด์ ‘์— ๋„์›€์ด ๋˜์—ˆ์œผ๋ฉด ์ข‹๊ฒ ๋‹ค. 1. ์Šคํ”„๋ง์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š” ? ์ž๋ฐ” ๊ธฐ๋ฐ˜์˜ ์›น ํ”„๋ ˆ์ž„์›Œํฌ ์ž…๋‹ˆ๋‹ค. ์ž๋ฐ”๋กœ ๋‹ค์–‘ํ•œ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํˆด์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์Šคํ”„๋ง์˜ ํŠน์ง•์—๋Š” ํฌ๊ฒŒ 3๊ฐ€์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฒซ๋ฒˆ์งธ๋กœ ์ œ์–ด์˜ ์—ญ์ „์ž…๋‹ˆ๋‹ค. ๊ฐ์ฒด์˜ ์ƒ์„ฑ๋ถ€ํ„ฐ ์†Œ๋ฉธ๊นŒ์ง€ ๊ฐœ๋ฐœ์ž๊ฐ€ ์•„๋‹Œ ์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ œ์–ด๊ถŒ์„ ๊ฐ–๊ณ  ์žˆ๋Š” ๊ฒƒ ์ž…๋‹ˆ๋‹ค. ๋‘๋ฒˆ์งธ๋Š” ์˜์กด์„ฑ..

๐Ÿ“š [CS๋ฉด์ ‘] ์›น ๋ฉด์ ‘ ์งˆ๋ฌธ [11] [์ž๋ฐ” ์ปฌ๋ ‰์…˜ / Collection Framework]

1. ์ปฌ๋ ‰์…˜์ด๋ž€ ? ์ปฌ๋ ‰์…˜์€ ๋งŽ์€ ๋ฐ์ดํ„ฐ ์š”์†Œ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ๋œปํ•˜๋ฉฐ, ArrayList, LinkedList, HashMap ๋“ฑ์ด ํฌํ•จ๋œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด ์ปฌ๋ ‰์…˜๋“ค์€ ์ œ๋„ค๋ฆญ(generics) ํ˜•์‹์œผ๋กœ ๊ตฌํ˜„๋˜์–ด ์žˆ์–ด ์ปฌ๋ ‰์…˜๊ณผ ํ•จ๊ป˜ ์ œ๋„ค๋ฆญ์— ๋Œ€ํ•ด์„œ๋„ ์ดํ•ดํ•ด์•ผ ํ•œ๋‹ค. ์ž๋ฐ”์—์„œ๋Š” ์ด๋Ÿฐ ์ปฌ๋ ‰์…˜์„ ์œ„ํ•œ ์ธํ„ฐํŽ˜์ด์Šค์™€ ํด๋ž˜์Šค๋“ค์ด ์žˆ์œผ๋ฉฐ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ํด๋ž˜์Šค๋“ค์˜ ์ข…๋ฅ˜์™€ ์ƒ์† ๊ณ„์ธต๋„๋Š” ์•„๋ž˜์˜ ์‚ฌ์ง„๊ณผ ๊ฐ™๋‹ค. 2. ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ ์žฅ์  1. ์ธํ„ฐํŽ˜์ด์Šค์™€ ๋‹คํ˜•์„ฑ์„ ์ด์šฉํ•œ ๊ฐ์ฒด์ง€ํ–ฅ์  ์„ค๊ณ„๋ฅผ ํ†ตํ•ด ํ‘œ์ค€ํ™”๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ์‚ฌ์šฉ๋ฒ•์„ ์ตํžˆ๊ธฐ์—๋„ ํŽธ๋ฆฌํ•˜๊ณ  ์žฌ์‚ฌ์šฉ์„ฑ์ด ๋†’๋‹ค. List list = new ArrayList(); list = new LinkedList(); ์ด๋ ‡๊ฒŒ List ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๋‹ค๋ฅธ ํด๋ž˜..

๐ŸŸจ [Java] [์˜ˆ์™ธ ์ฒ˜๋ฆฌ]Checked Exception VS Unchecked Exception

์ด์ „์˜ ๊ธ€์—์„œ ์˜ˆ์™ธ์ฒ˜๋ฆฌ์— ๋Œ€ํ•ด ๋‹ค๋ฃฌ์ ์ด ์žˆ๋‹ค. ๊ธ€์„ ๋‹ค์‹œ ์ฝ์–ด๋ณด๋‹ค ๋ณด๋‹ˆ Runtime Exception ์— ๋Œ€ํ•ด ์ œ๋Œ€๋กœ ์„œ์ˆ ํ•˜์ง€ ์•Š์•„์„œ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๊ฐ€ ์ค‘์š”ํ•œ ๋งŒํผ ๋‹ค์‹œ ํ•œ ๋ฒˆ ์ •๋ฆฌํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ๐Ÿ“Œ 1. ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๋ž€? ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๋ž€, ์˜ˆ์™ธ๋‚˜ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒ ๊ฐ€๋Šฅํ•œ ์ƒํ™ฉ์„ ๋ฏธ์—ฐ์— ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด์„œ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ฝ”๋“œ ์ƒ์œผ๋กœ ๋ฏธ๋ฆฌ ์˜ˆ์™ธ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ ๐Ÿ“Œ 2. ์˜ˆ์™ธ (Exception) ์™€ ์—๋Ÿฌ (Error) โšก ์˜ˆ์™ธ(Exception)๋ž€ ? ์˜ˆ์™ธ๋Š” Checked Exception๊ณผ Unchecked Exception์œผ๋กœ ๋‚˜๋‰œ๋‹ค. Checked Exception์€ Unchecked Exception์„ ์ œ์™ธํ•œ ๋ชจ๋“  ์˜ˆ์™ธ์ด๋‹ค. ์ปดํŒŒ์ผ ์‹œ ์˜ˆ์™ธ๋ฐœ์ƒ ์—ฌ๋ถ€๋ฅผ ์ฒดํฌํ•˜๊ณ  ์˜ˆ์™ธ์ฒ˜๋ฆฌ๋ฅผ ํ•˜์ง€ ์•Š์œผ๋ฉด ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. ๋ฐ˜๋ฉด, Unchecked ..

โฌ› [Programmers] [Java] [Level2] ์ ํ”„์™€ ์ˆœ๊ฐ„์ด๋™

๋ฌธ์ œ https://school.programmers.co.kr/learn/courses/30/lessons/12980?language=java ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ํ’€์ด import java.util.*; public class Solution { public int solution(int n) { int ans = 0; while(n != 0){ if(n % 2 == 0){ n /= 2; } else { n--; ans++; } } return ans; } }

๐ŸŸฉ [๋ฐฑ์ค€] [Java] [Silver3] 1966๋ฒˆ_ํ”„๋ฆฐํ„ฐ ํ

๋ฌธ์ œ https://www.acmicpc.net/problem/1966 1966๋ฒˆ: ํ”„๋ฆฐํ„ฐ ํ ์—ฌ๋Ÿฌ๋ถ„๋„ ์•Œ๋‹ค์‹œํ”ผ ์—ฌ๋Ÿฌ๋ถ„์˜ ํ”„๋ฆฐํ„ฐ ๊ธฐ๊ธฐ๋Š” ์—ฌ๋Ÿฌ๋ถ„์ด ์ธ์‡„ํ•˜๊ณ ์ž ํ•˜๋Š” ๋ฌธ์„œ๋ฅผ ์ธ์‡„ ๋ช…๋ น์„ ๋ฐ›์€ ‘์ˆœ์„œ๋Œ€๋กœ’, ์ฆ‰ ๋จผ์ € ์š”์ฒญ๋œ ๊ฒƒ์„ ๋จผ์ € ์ธ์‡„ํ•œ๋‹ค. ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ฌธ์„œ๊ฐ€ ์Œ“์ธ๋‹ค๋ฉด Queue ์ž๋ฃŒ๊ตฌ์กฐ์— www.acmicpc.net ํ’€์ด import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Collections; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; public cl..

๐ŸŸฉ [๋ฐฑ์ค€] [Java] [Silver2] 1260๋ฒˆ_DFS์™€ BFS

๋ฌธ์ œ https://www.acmicpc.net/problem/1260 1260๋ฒˆ: DFS์™€ BFS ์ฒซ์งธ ์ค„์— ์ •์ ์˜ ๊ฐœ์ˆ˜ N(1 ≤ N ≤ 1,000), ๊ฐ„์„ ์˜ ๊ฐœ์ˆ˜ M(1 ≤ M ≤ 10,000), ํƒ์ƒ‰์„ ์‹œ์ž‘ํ•  ์ •์ ์˜ ๋ฒˆํ˜ธ V๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ M๊ฐœ์˜ ์ค„์—๋Š” ๊ฐ„์„ ์ด ์—ฐ๊ฒฐํ•˜๋Š” ๋‘ ์ •์ ์˜ ๋ฒˆํ˜ธ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์–ด๋–ค ๋‘ ์ •์  ์‚ฌ www.acmicpc.net ํ’€์ด import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; public class Main { static int[][] arr; static boolean[] visited; public static void main(String[] args) { Scanner sc..

โฌ› [Programmers] [Java] [Level2] ์ด์ง„ ๋ณ€ํ™˜ ๋ฐ˜๋ณตํ•˜๊ธฐ

๋ฌธ์ œ https://school.programmers.co.kr/learn/courses/30/lessons/70129?language=java ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ํ’€์ด public class ์ด์ง„๋ณ€ํ™˜๋ฐ˜๋ณตํ•˜๊ธฐ { public static void main(String[] args) { int[] answer = solution("110010101001"); System.out.println(answer[0]); System.out.println(answer[1]); } static public int[] solution(Stri..