Programming
BOJ: ์คํ - 10828๋ฒ
BOJ: ์คํ - 10828๋ฒ
2020.03.04์ด ๊ธ์ ๋ณดํธ๋์ด ์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ณด๋ ค๋ฉด ์ํธ๊ฐ ํ์ํฉ๋๋ค.
ํ๊ต ๊ณต์ง์ฌํญ ๋ด ๊ฐ๋ฐ๊ธฐ
ํ๊ต ๊ณต์ง์ฌํญ ๋ด ๊ฐ๋ฐ๊ธฐ
2020.02.06๋ณตํ์ด ํ ๋ฌ ๋จ์ง ๋จ์์ ๋์๋ค. ์ฌ์ฌ ํ๊ต๋ก ๋์๊ฐ ์ค๋น๋ฅผ ํ๋ค๋ณด๋ ํ๊ต ํํ์ด์ง๋ฅผ ๊ณ์ ๋ค์ด๊ฐ์ผ ํ๋ค. ์๊ฐ์ ์ฒญ ์ผ์ ์ด๋ฉฐ, ์ฅํ๊ธ ์ ์ฒญ ๊ธฐ๊ฐ ๋ฑ์ ๊ณต์ง์ฌํญ์ ๋ณด๋ ค๋ฉด ์ด์ฉ ์ ์์๋ค. ์ด ๊ณผ์ ์ด ์๊ฐ๋ณด๋ค ๊ท์ฐฎ์๋ค. (๊ณต์ง์ฌํญ์ด ์ธ์ ์ฌ๋ผ์ฌ์ง ๋ชจ๋ฅด๋) ๊ทธ๋์ ๊ณต์ง์ฌํญ์ด ์ฌ๋ผ์ค๋ฉด ์๋ ค์ฃผ๋ ๋ด์ ๋ง๋ค๊ธฐ๋ก ํ๋ค. ์ด ๊ธ์ ๊ธฐ์ด๋ก ๋ง๋ค์๋ค. ์ข์ ์๋ฃ ๊ฐ์ฌํฉ๋๋ค๐ โ์๊ฐํ๊ธฐ ์ฒ์์ ์์ฃผ ๋จ์ํ๊ฒ ์๊ฐํ๋ค. ์ฐ๋ฆฌ ํ๊ต ํํ์ด์ง๋ ๋ฉ์ธ์์ ์์ ฏ์ผ๋ก ๋๋ต ์ด ๊ฐ ๋จ์ง์ ๊ณต์ง์ฌํญ์ ์๋ ค์ค๋ค. ์ด๊ฑธ ํฌ๋กค๋งํ๋ฉด ๋์ง ์์๊น? ๊ทธ๋์ ์ฒ์ ๋ง๋ค ๋๋ ๋ฉ์ธ์ ์๋ ์์ ฏ์ ํฌ๋กค๋งํ๋ค. ๋ค ๋ง๋ค๊ณ ๋๋ ๋ฌธ์ ์ ๋ด์ฐฉํ๋ค. ์์ ฏ์ ์ผ์ชฝ ์๋จ์ ๊ฒ์ํ ์ด๋ฆ์ด ์ถ๋ ฅ๋๋ ํํ์๋๋ฐ ์ค์ ๊ฒ์ํ ์ด๋ฆ๊ณผ ๋งค์นํ์ง ์์๋ค…. (๋ฒ๊ทธ๋ผ๊ณ ์๊ฐ..
Python: is์ ==
Python: is์ ==
2020.02.05โ ์ด์ง ํธ๋ฆฌ์ ๋์ด ์ฐ์ ์ํ(breadth first traversal)์ ๊ตฌํํ๋ ๋์ค ๋งํ๋ค. ๋ญ๊ฐ ์๋ชป๋ ๊ฑธ๊น? ๋ฌธ์ ๊ฐ ์ผ์ด๋ฌ๋ ์ฝ๋ ๋ถ๋ถ์ด๋ค. if self.root is None: return traversal ๋๋ self.root๊ฐ null์ธ์ง ์ฒดํฌํ๊ณ ์ถ์๋ค. ๐ก is์ ==์ ์ฐจ์ด is์ ==์ ์ฉ๋์ ๋ง์ง ์๊ฒ ์ฌ์ฉํ๊ณ ์๋ ๊ฒ ๋ฌธ์ ์๋ค. is๋ ์ค๋ธ์ ํธ(=๊ฐ์ฒด)๋ฅผ ๋น๊ตํ ๋ ์ฌ์ฉํด์ผ ํ๊ณ , ==๋ ๊ฐ(value)๋ฅผ ๋น๊ตํ ๋ ์ฌ์ฉ๋์ด์ผ ํ๋ค. ์ด ๊ธ์ด ๋งค์ฐ ๋์ ๋์๋ค. ๊ทธ๋ฌ๋๊น ๋ด ๊ฒฝ์ฐ์๋ self.root์ ๊ฐ์ด null์ธ์ง ์ฒดํฌํด์ผ ํ๊ธฐ ๋๋ฌธ์ is๋ณด๋ค๋ ==๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ ์ ํฉํ ๊ฒ์ด์๋ค. if self.root == None: return traversal
์๋ฃ๊ตฌ์กฐ: ํธ๋ฆฌ(Tree)
์๋ฃ๊ตฌ์กฐ: ํธ๋ฆฌ(Tree)
2020.02.05ํธ๋ฆฌ Tree ์ ์ node๊ณผ ๊ฐ์ edge๋ฅผ ์ด์ฉํ์ฌ ๋ฐ์ดํฐ์ ๋ฐฐ์น ํํ๋ฅผ ์ถ์ํํ ์๋ฃ๊ตฌ์กฐ 1:n ๊ด๊ณ์ ๋น์ ํ ์๋ฃ๊ตฌ์กฐ ๊ณ์ธต ๊ด๊ณ๋ก ๋ง๋ค์ด์ง ๊ณ์ธตํ ์๋ฃ๊ตฌ์กฐ root node ํธ๋ฆฌ์์ ์ต์์ ๋
ธ๋ leaf node ์์ ๋
ธ๋๊ฐ ์๋ ๋
ธ๋ internal node leaf node๊ฐ ์๋ ๋
ธ๋ parent node ๋
ธ๋ A๊ฐ ๋
ธ๋ B๋ฅผ ๊ฐ๋ฆฌํฌ ๋ A๋ฅผ B์ ๋ถ๋ชจ ๋
ธ๋๋ผ๊ณ ํจ ^์ฐธ์กฐ child node B๋ฅผ A์ ์์ ๋
ธ๋๋ผ๊ณ ํจ ^์ฐธ์กฐ sibling ๋์ผํ ๋ถ๋ชจ๋ฅผ ๊ฐ๋ ํ์ ๋
ธ๋ ancestor ๋ถ๋ชจ์ ๋ถ๋ชจ(...์ ๋ถ๋ชจ์) ๋
ธ๋ descendant ์์์ ์์(...์ ์์์) ๋
ธ๋ ๋
ธ๋์ ์์ค Level root node๋ level 0 root node๋ก ๋ถํฐ ํด๋น ๋
ธ๋๊น์ง ๊ฑฐ์น๋ ๊ฐ์ ์ ๊ฐฏ์ ํธ๋ฆฌ..
BOJ: #10951
BOJ: #10951
2020.02.04#10951 #10950 ๊ณผ ๋ฌ๋ฆฌ ํ
์คํธ ์ผ์ด์ค ๊ฐ์๋ฅผ ์ฃผ์ง ์์์ ๋ฌธ์ ํธ๋๋ฐ ํค๋ฉจ๋ค. ์ฒ์์๋ while(true)๋ฅผ ์ฃผ์ด์ ๋ฐํ์ ์๋ฌ๊ฐ ๋ด์๋ค. ๊ทธ๋์ ํ
์คํธ ์ผ์ด์ค๋ฅผ 100๊ฐ ์ฃผ๊ณ ๋๋ฆฌ๋ฉด ๋์ง ์์๊น? ํ์ง๋ง ๊ฒฐ๊ณผ๋ ์คํจ…. ์ฝ์ง์ฝ๋ 1 import java.util.Scanner; public class Main { public static void main(String args[]) { int a, b; Scanner in = new Scanner(System.in); while (true) { a = in.nextInt(); b = in.nextInt(); System.out.println(a + b); } } } ์ฝ์ง์ฝ๋ 2 import java.util.*; public class Ma..
Android Picker
Android Picker
2020.02.04์ด ๊ธ์ ๊ธฐ๋ฐ์ผ๋ก ์์ฑํ์์ต๋๋ค. ์๋๋ก์ด๋๋ ์ฌ์ฉ์๊ฐ ์๊ฐ์ ์ ํํ๊ฑฐ๋ ๋ ์ง๋ฅผ ์ฌ์ฉํ ์ ์๋ ๋ํ ์์๋ก ์ ํํ ์ ์๋ ์ปจํธ๋กค์ ์ ๊ณตํ๋ค. ๊ฐ Picker๋ ์๊ฐ (์, ๋ถ, ์ค์ / ์คํ) ๋๋ ๋ ์ง (์, ์ผ, ๋
)์ ๋ถ๋ถ์ ์ ํํ๋ ์ปจํธ๋กค์ ์ ๊ณตํ๋ค. ์ด๋ ๊ฒ Picker๋ฅผ ์ฌ์ฉํ๋ฉด ์ฌ์ฉ์๊ฐ ์ ํจํ๊ณ , ํ์์ด ์ ํํ๋ฉฐ, ์ฌ์ฉ์ ์ง์ญ์ ๋ง๊ฒ ์กฐ์ ๋ ์๊ฐ ๋๋ ๋ ์ง๋ฅผ ์ ํํ ์ ์๋ค. Android Developer์์๋ DialogFragment๋ฅผ ์ฌ์ฉํ ๊ฒ์ ๊ถ๊ณ ํ๋ค. DialogFragment๋ Dialog์ ์๋ช
์ฃผ๊ธฐ๋ฅผ ๊ด๋ฆฌํ๋ฉฐ, ๋จ๋ง๊ธฐ์ ๊ธฐ๋ณธ dialog ๋๋ ํฐ ํ๋ฉด์ ๋ ์ด์์์ ํฌํจํ ๋ถ๋ถ๊ณผ ๊ฐ์ด ๋ค์ํ ๋ ์ด์์ ๊ตฌ์ฑ์ผ๋ก Picker๋ฅผ ํ์ํ ์ ์๋ค. [^1] DialogFragmen..
Ubuntu: 16.04 LTS: Samba ์ค์น
Ubuntu: 16.04 LTS: Samba ์ค์น
2020.02.04์ด์์ฒด์ Ubuntu 16.04.5 LTS์ค์นํ ํ๋ก๊ทธ๋จ SambaSamba ์ค์น ํฐ๋ฏธ๋์ ์ด๊ณ ๋ค์ ๋ช
๋ น์ด๋ฅผ ์คํํ๋ค. ๋๋ SSH๋ก ์ ์ํ์ฌ ์งํํ๋ค. $ sudo apt-get install samba ์ค์น๊ฐ ์๋ฃ ๋์์ผ๋ฉด ํฐ๋ฏธ๋์ ๋ค์ ๋ช
๋ น์ด๋ฅผ ์
๋ ฅํ๋ค. Samba๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ์ค์น๊ฐ ๋์๋์ง ํ์ธํ ์ ์๋ค. $ whereis samba samba: /usr/sbin/samba /usr/lib/samba /etc/samba /usr/share/samba /usr/share/man/man8/samba.8.gz /usr/share/man/man7/samba.7.gz Samba ์ค์ Samba๊ฐ ์ค์น๋์๋ค๋ฉด, mkdir๋ช
๋ น์ด๋ฅผ ํตํด ๊ณต์ ํ ๋๋ ํ ๋ฆฌ๋ฅผ ์์ฑํ๋ค. $ mkdir /home//sambasha..
Ubuntu: 16.04 LTS: PostgreSQL ์ค์น
Ubuntu: 16.04 LTS: PostgreSQL ์ค์น
2020.02.03์ด์์ฒด์ Ubuntu 16.04.5 LTS์ค์นํ ํ๋ก๊ทธ๋จ PostgreSQL 11PostgreSQL ์ค์น ์ด ๋๋ PostgreSQL apt ์ ์ฅ์๋ฅผ ์ถ๊ฐํ์ฌ ์ค์นํ ์ ์๋ค. PostgreSQL apt ์ ์ฅ์๋ ๋ค์๊ณผ ๊ฐ์ ์ฐ๋ถํฌ LTS ๋ฒ์ ์ ์ง์ํ๋ค. 18.04 16.04 14.04PostgreSQL apt ์ ์ฅ์๋ฅผ ์ถ๊ฐํ๋ ๋ฒ์ ์๋์ ๊ฐ๋ค. /etc/apt/sources.list.d/pgdg.list ํ์ผ ์์ฑ $ sudo vi /etc/apt/sources.list.d/pgdg.list pgdg.list์ ๋ด์ฉ ์ถ๊ฐ (์ฐ๋ถํฌ ๋ฒ์ ์ ๋ฐ๋ผ ๋ด์ฉ์ด ๋ค๋ฆ) Bionic (18.04) deb http://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main Xen..
Ubuntu: 16.04 LTS: Kotlin Compiler ์ค์น
Ubuntu: 16.04 LTS: Kotlin Compiler ์ค์น
2020.02.03์ค์น ํ๊ฒฝ Linux์ฉ Windows ํ์ ์์คํ
- ubuntu0.18.04.1-b12์ค์นํ ํ๋ก๊ทธ๋จ Kotlin CompilerOpenJDK Install Java๊ฐ ๊น๋ ค์์ง ์๋ค๋ ์ ์ ๋ก ์์ํ๋ค. JDK๋ฅผ ์ค์นํด์ผ ํ๋๋ฐ, ๋๋ OpenJDK๋ฅผ ์ค์นํ๋ค. $ sudo apt-get install openjdk-8-jre ์ค์น๊ฐ ์๋ฃ๋์๋ค๋ฉด ๋ค์ ๋ช
๋ น์ด๋ฅผ ํตํด ์ ์์ ์ผ๋ก ์ค์น๋์๋์ง ํ์ธํ๋ค. $ java -version openjdk version "1.8.0_191" OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.18.04.1-b12) OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mo..