songining
๊ณผ๋ชฉII SQL ๊ธฐ๋ณธ ๋ฐ ํ™œ์šฉ 1์žฅ - 4์ ˆ TCL
SQLD 2021. 5. 21. 14:54

4์ ˆ. TCL (TRANSACTION CONTROL LANGUAGE) ํŠธ๋žœ์žญ์…˜ - ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋…ผ๋ฆฌ์  ์—ฐ์‚ฐ๋‹จ์œ„ - ๋ถ„ํ• ํ•  ์ˆ˜ ์—†๋Š” ์ตœ์†Œ์˜ ๋‹จ์œ„ - ํ•˜๋‚˜์˜ ํŠธ๋žœ์žญ์…˜์—๋Š” ํ•˜๋‚˜ ์ด์ƒ์˜ SQL๋ฌธ์žฅ์ด ํฌํ•จ๋œ๋‹ค. - ALL OR NOTHING์˜ ๊ฐœ๋… ํŠธ๋žœ์žญ์…˜์˜ ํŠน์„ฑ 1. ์›์ž์„ฑ - ๋ชจ๋‘ ์„ฑ๊ณต์ ์œผ๋กœ ์‹คํ–‰๋˜๋˜์ง€ ์ „ํ˜€ ์‹คํ–‰๋˜์ง€ ์•Š์€ ์ƒํƒœ 2. ์ผ๊ด€์„ฑ - ํŠธ๋žœ์žญ์…˜ ์‹คํ–‰ ์ „๊ณผ ํ›„์— ์ผ๊ด€์„ฑ์ด ์žˆ์–ด์•ผ ํ•จ 3. ๊ณ ๋ฆฝ์„ฑ(๊ฒฉ๋ฆฌ์„ฑ) - ํŠธ๋žœ์žญ์…˜์ด ์‹คํ–‰๋˜๋Š” ๋„์ค‘ ๋‹ค๋ฅธ ํŠธ๋žœ์žญ์…˜์˜ ์˜ํ–ฅ์„ ๋ฐ›์•„ ์ž˜๋ชป๋œ ๊ฒฐ๊ณผ ๋งŒ๋“ค๋ฉด ์•ˆ๋จ 4. ์ง€์†์„ฑ - ํŠธ๋žœ์žญ์…˜ ์ˆ˜ํ–‰์‹œ ๊ฐฑ์‹ ํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋‚ด์šฉ์€ ์˜๊ตฌ ์ €์žฅ 1. ์ปค๋ฐ‹(COMMIT) - ๋ณ€๊ฒฝ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์˜๊ตฌ์ ์œผ๋กœ ๋ฐ˜์˜ COMMIT; 2. ๋กค๋ฐฑ(ROLLBACK) - ๋ณ€๊ฒฝ ์ „ ๋ฐ์ดํ„ฐ๋กœ ๋ณต๊ท€ ROL..

๊ณผ๋ชฉII SQL ๊ธฐ๋ณธ ๋ฐ ํ™œ์šฉ 1์žฅ - 3์ ˆ DML
SQLD 2021. 5. 21. 14:29

3์ ˆ. DML 1. INSERT 1) INSERT INTO ํ…Œ์ด๋ธ”๋ช… (COLUMN_LIST) VALUES (VALUE_LIST); ์นผ๋Ÿผ์˜ ์ˆœ์„œ๋Š” ํ…Œ์ด๋ธ”์˜ ์นผ๋Ÿผ ์ˆœ์„œ์™€ ๋งค์น˜ํ•  ํ•„์š”๋Š” ์—†๊ณ , ์ •์˜ํ•˜์ง€ ์•Š์€ ์นผ๋Ÿผ์€ NULL๊ฐ’์ด ์ž…๋ ฅ๋จ. ๋‹จ PK ๊ฑฐ๋‚˜ NOT NULL ์ฒ˜๋Ÿผ NULL๊ฐ’์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด ๋ฐ˜๋“œ์‹œ ๊ฐ’์„ ๋„ฃ์–ด์ฃผ์–ด์•ผ ํ•œ๋‹ค. NULL๊ณผ DEFAULT์ค‘ ์šฐ์„ ์ˆœ์œ„๋Š” NULL์ด๋‹ค. NOT NULL์ด๋ผ๋ฉด DEFAULT๊ฐ’์ด ์žˆ๋‹ค๊ณ  ํ•˜๋”๋ผ๋„ ์—๋Ÿฌ๊ฐ€ ๋‚จ 2) INSERT INTO ํ…Œ์ด๋ธ”๋ช… VALUES (VALUE_LIST); ์นผ๋Ÿผ์˜ ์ˆœ์„œ๋Œ€๋กœ ๋น ์ง์—†์ด ๋ฐ์ดํ„ฐ๊ฐ€ ์ž…๋ ฅ๋˜์–ด์•ผ ํ•œ๋‹ค. ์ •์˜๋˜์ง€ ์•Š์€ ๋ฏธ์ง€์˜ ๊ฐ’์€ ' ' ๋˜๋Š” NULL ๋กœ ํ‘œํ˜„ํ•œ๋‹ค. 3) INSERT INTO ํ…Œ์ด๋ธ”๋ช… (COLUMN_LIST) SELECT (CO..

์œ„์ƒ์ •๋ ฌ
ALGORITHM 2021. 5. 20. 13:55

์œ„์ƒ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ -ํ๋ฅผ ์ด์šฉ 1. ์ง„์ž…์ฐจ์ˆ˜๊ฐ€ 0์ธ ๋ชจ๋“  ๋…ธ๋“œ๋ฅผ ํ์— ๋„ฃ๋Š”๋‹ค. 2. ํ๊ฐ€ ๋นŒ ๋•Œ๊นŒ์ง€ ๋‹ค์Œ์˜ ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•œ๋‹ค. 1) ํ์—์„œ ์›์†Œ๋ฅผ ๊บผ๋‚ด ํ•ด๋‹น ๋…ธ๋“œ์—์„œ ๋‚˜๊ฐ€๋Š” ๊ฐ„์„ ์„ ๊ทธ๋ž˜ํ”„์—์„œ ์ œ๊ฑฐํ•œ๋‹ค. 2) ์ƒˆ๋กญ๊ฒŒ ์ง„์ž…์ฐจ์ˆ˜๊ฐ€ 0์ด ๋œ ๋…ธ๋“œ๋ฅผ ํ์— ๋„ฃ๋Š”๋‹ค. --> ๊ฒฐ๊ณผ์ ์œผ๋กœ ๊ฐ ๋…ธ๋“œ๊ฐ€ ํ์— ๋“ค์–ด์˜จ ์ˆœ์„œ๊ฐ€ ์œ„์ƒ ์ •๋ ฌ์„ ์ˆ˜ํ–‰ํ•œ ๊ฒฐ๊ณผ์™€ ๊ฐ™๋‹ค. (ํŠน์ง•) - ์‚ฌ์ดํด์ด ์—†๋Š” ๋ฐฉํ–ฅ๊ทธ๋ž˜ํ”„(DAG)์—ฌ์•ผ ํ•œ๋‹ค. - ํ•œ ๋‹จ๊ณ„์—์„œ ํ์— ์ƒˆ๋กญ๊ฒŒ ๋“ค์–ด๊ฐ€๋Š” ์›์†Œ๊ฐ€ 2๊ฐœ ์ด์ƒ์ธ ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค๋ฉด ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋‹ต ์กด์žฌ. - ๋ชจ๋“  ์›์†Œ๋ฅผ ๋ฐฉ๋ฌธํ•˜๊ธฐ ์ „์— ํ๊ฐ€ ๋นˆ๋‹ค๋ฉด ์‚ฌ์ดํด์ด ์กด์žฌํ•œ๋‹ค๊ณ  ํŒ๋‹จํ•  ์ˆ˜ ์žˆ์Œ (์‹œ๊ฐ„๋ณต์žก๋„) - ์ฐจ๋ก€๋Œ€๋กœ ๋ชจ๋“  ๋…ธ๋“œ๋ฅผ ํ™•์ธํ•˜๋ฉฐ ๊ฐ ๋…ธ๋“œ์—์„œ ๋‚˜๊ฐ€๋Š” ๊ฐ„์„ ์„ ์ฐจ๋ก€๋Œ€๋กœ ์ œ๊ฑฐํ•˜๋ฏ€๋กœ ์‹œ๊ฐ„๋ณต์žก๋„๋Š” O(V+E)์ด๋‹ค. ์œ„์ƒ์ •๋ ฌ ์ฝ”๋“œ from ..

article thumbnail
๊ณผ๋ชฉII SQL ๊ธฐ๋ณธ ๋ฐ ํ™œ์šฉ 1์žฅ - 2์ ˆ DDL
SQLD 2021. 5. 19. 15:44

2์ ˆ. DDL 1. CREATE TABLE ํ…Œ์ด๋ธ” ์ƒ์„ฑ์‹œ ๊ทœ์น™ : - ๊ฐ€๋Šฅํ•œ ๋‹จ์ˆ˜ํ˜• ๊ถŒ๊ณ  - ๋‹ค๋ฅธ ํ…Œ์ด๋ธ” ์ด๋ฆ„๊ณผ ์ค‘๋ณต X - ํ•œ ํ…Œ์ด๋ธ” ๋‚ด์—์„œ๋Š” ์นผ๋Ÿผ๋ช…์ด ์ค‘๋ณต ๋ถˆ๊ฐ€ - ์นผ๋Ÿผ์— ๋Œ€ํ•ด์„œ๋Š” ์ผ๊ด€์„ฑ ์žˆ๊ฒŒ ์‚ฌ์šฉ - ์นผ๋Ÿผ ๋’ค์— ๋ฐ์ดํ„ฐ ์œ ํ˜•์€ ๊ผญ ์ง€์ •๋˜์–ด์•ผ ํ•จ - ํ…Œ์ด๋ธ”๋ช…๊ณผ ์นผ๋Ÿผ๋ช…์€ ๋ฐ˜๋“œ์‹œ ๋ฌธ์ž๋กœ ์‹œ์ž‘ํ•ด์•ผ ํ•˜๊ณ  , ๋ฒค๋”๋ณ„๋กœ ๊ธธ์ด์— ๋Œ€ํ•œ ํ•œ๊ณ„๊ฐ ์žˆ๋‹ค. - ๋ฒค๋”์—์„œ ์‚ฌ์ „์— ์ •์˜ํ•œ ์˜ˆ์•ฝ์–ด๋Š” ์“ธ ์ˆ˜ ์—†๋‹ค. - A-Z, a-z, 0-9, _ , $, # ๋ฌธ์ž๋งŒ ํ—ˆ์šฉ CREATE TABLE ํ…Œ์ด๋ธ”์ด๋ฆ„ ( ์นผ๋Ÿผ๋ช…1 ํƒ€์ž…, default ํ˜•์‹, ์นผ๋Ÿผ๋ช…2 ํƒ€์ž…, default ํ˜•์‹, ์นผ๋Ÿผ๋ช…3 ํƒ€์ž…, default ํ˜•์‹ ); โ€ป ์ฃผ์˜์‚ฌํ•ญ - ํ…Œ์ด๋ธ” ์ƒ์„ฑ ์‹œ ๋Œ€/์†Œ๋ฌธ์ž ๊ตฌ๋ถ„์€ ํ•˜์ง€ ์•Š๋Š”๋‹ค. - DATETIME ๋ฐ์ดํ„ฐ ์œ ํ˜•์€ ๋ณ„๋„๋กœ ํฌ๊ธฐ..

๊ณผ๋ชฉII SQL ๊ธฐ๋ณธ ๋ฐ ํ™œ์šฉ 1์žฅ - 1์ ˆ
SQLD 2021. 5. 19. 15:02

1์ ˆ. ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค (Relation DB) DB์˜ ์ข…๋ฅ˜ - ๊ณ„์ธตํ˜• DB: ํŠธ๋ฆฌ ํ˜•ํƒœ์— ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ ๋ฐ ๊ด€๋ฆฌ. - ๋„คํŠธ์›Œํฌํ˜• DB: owner์™€ member ํ˜•ํƒœ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ ๋ฐ ๊ด€๋ฆฌ. - ๊ด€๊ณ„ํ˜• DB: ๋ฆด๋ ˆ์ด์…˜์— ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ ๋ฐ ๊ด€๋ฆฌ. ๋ฆด๋ ˆ์ด์…˜์„ ์‚ฌ์šฉํ•ด ์ง‘ํ•ฉ,๊ด€๊ณ„ ์—ฐ์‚ฐ DBMS -๊ณ„์ธตํ˜•/๋„คํŠธ์›Œํฌํ˜•/๊ด€๊ณ„ํ˜• DB๋“ฑ์„ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ SW -Oracle, MySQL,Sybase ..๋“ฑ SQL(Structured Query Language) - ๊ด€๊ณ„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ํฌ๊ด„์ ์ธ ํ‘œ์ค€์–ธ์–ด - ๋ฐ์ดํ„ฐ ์ •์˜/์กฐ์ž‘/์ œ์–ด๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ์ ˆ์ฐจํ˜• ์–ธ์–ด - ANSI/ISO ํ‘œ์ค€์„ ์ค€์ˆ˜ํ•˜๋ฏ€๋กœ DBMS๊ฐ€ ๋ณ€๊ฒฝ๋˜์–ด๋„ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. SQL ์‹คํ–‰ ์ˆœ์„œ - ๊ฐœ๋ฐœ์ž๊ฐ€ ์ž‘์„ฑํ•œ SQL๋ฌธ์€ 3๋‹จ๊ณ„๋ฅผ ๊ฑฐ์ณ์„œ ์‹ค..

4. ๋ฆฌ์•กํŠธ - mysql - node.js ์—ฐ๋™
WEB/REACT 2021. 1. 29. 22:48

๋‚˜๋Š” ๋‚ด๋ถ€ mysql์„ ์ด์šฉํ•˜์˜€๋‹ค. * ํ„ฐ๋ฏธ๋„์—์„œ mysql ์‹คํ–‰ ๋ฐฉ๋ฒ• 1. mysql.server start 2. mysql -uroot -p 3. ๋น„๋ฐ€๋ฒˆํ˜ธ ์ž…๋ ฅ management ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ customerํ…Œ์ด๋ธ”์„ ์ƒ์„ฑ ํ›„ ์‚ฌ์šฉ์ž๋“ค์„ ์ž„์˜๋กœ ์‚ฝ์ž…ํ•ด์ฃผ์—ˆ๋‹ค. ์šฐ์„  npm install mysql์„ ํ„ฐ๋ฏธ๋„์— ์ž…๋ ฅํ•˜์—ฌ ํ˜„์žฌ ํ”„๋กœ์ ํŠธ ํด๋”์— mysql ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์„œ๋ฒ„์— database.json ํŒŒ์ผ์„ ๋งŒ๋“ค์–ด { "host":"0.0.0.0", "user":"user", "password":"user ๋น„๋ฐ€๋ฒˆํ˜ธ", "port":"3306", "database":"management" } ์œ„์™€ ๊ฐ™์ด ์ž‘์„ฑํ•ด์ค€๋‹ค. ๊ทธ๋ฆฌ๊ณ  server.js ์—์„œ database.jsonํŒŒ์ผ์„ ์ฝ์–ด์™€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ์—ฐ..

article thumbnail
3.REST API ๊ตฌ์ถ•ํ•˜๊ธฐ
WEB/REACT 2021. 1. 24. 16:01

node.js express ๋ฅผ ์„ค์น˜ํ•˜์—ฌ REST API๋ฅผ ๊ตฌ์ถ•ํ•ด๋ณด์•˜๋‹ค. REST API๋Š” ์ตœ๊ทผ ์ƒ๋‹น์ˆ˜์˜ ์›น ์„œ๋ฒ„ ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ง€์›ํ•˜๋Š” ๊ธฐ๋Šฅ์œผ๋กœ ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์›น ํ”„๋กœํ† ์ฝœ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜์—ฌ ํšจ๊ณผ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›์„ ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ค€๋‹ค. ์ €๋ฒˆ ๊ฐ•์˜์— ์ด์–ด์„œ ์ „์ฒด ๊ณ ๊ฐ ๋ชฉ๋ก์„ ๋ถˆ๋Ÿฌ์˜ค๋Š” API๋ฅผ ๊ตฌํ˜„ํ•ด๋ณด์•˜๋‹ค. ํ„ฐ๋ฏธ๋„์— ๊ฐ๊ฐ npm run server ์™€ npm run client๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๊ฐ๊ฐ์˜ ํฌํŠธ๊ฐ€ ์—ด๋ฆฌ๋„๋ก ์„œ๋ฒ„์— ๋งŒ๋“  package.json์˜ scripts์— ์ž‘์„ฑํ•ด๋‘์—ˆ๋‹ค. ์„œ๋ฒ„ ํด๋ผ์ด์–ธํŠธ 5000๋ฒˆ ํฌํŠธ 3000๋ฒˆ ํฌํŠธ package.json package.json server.js app.js ํด๋ผ์ด์–ธํŠธ์˜ package.json ์— "proxy": "http://localhost:..

article thumbnail
2. material-ui ์‹œ์ž‘ํ•˜๊ธฐ
WEB/REACT 2021. 1. 18. 23:42

npm install @material-ui/core

article thumbnail
1. ๋ฆฌ์•กํŠธ ์ปดํฌ๋„ŒํŠธ์—๊ฒŒ ๊ฐ’ ์ „๋‹ฌ
WEB/REACT 2021. 1. 14. 22:22

react.js ๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ, ์žฌ์‚ฌ์šฉ์„ฑ์ด ๋›ฐ์–ด๋‚˜๋‹ค๋Š” ํŠน์ง•์ด ์žˆ๋‹ค. ์ƒˆ๋กœ๊ณ ์นจ์„ ํ•˜์ง€ ์•Š์•„๋„ ์ˆ˜์ •๋œ ๋ถ€๋ถ„์ด ๋ฐ”๋กœ๋ฐ”๋กœ ์—…๋ฐ์ดํŠธ๊ฐ€ ๋œ๋‹ค. ์˜ค๋Š˜์€ props(property)๋ฅผ ํ†ตํ•ด ์ปดํฌ๋„ŒํŠธ์—๊ฒŒ ๊ฐ’์„ ์ „๋‹ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๊ณต๋ถ€ํ–ˆ๋‹ค. ์šฐ์„  App.js์— ์œ„์™€ ๊ฐ™์ด ์œ ์ €๋“ค์˜ ์ •๋ณด๊ฐ€ ๋‹ด๊ธด ๋ฐฐ์—ด์„ ๋งŒ๋“ค์–ด์ค€๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์œ„์™€ ๊ฐ™์ด ์ปดํฌ๋„ŒํŠธ ์•ˆ์— customers ๋ฐฐ์—ด์„ ํ•˜๋‚˜์”ฉ ํƒ์ƒ‰ํ•˜๊ธฐ ์œ„ํ•ด map ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ชจ๋“  ๋ฐฐ์—ด์„ ๋ˆ๋‹ค. ์ด๋•Œ, Customer๋Š” ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด๋‘” Customer.js ์˜ ํด๋ž˜์Šค์ด๋‹ค. ์—ฌ๊ธฐ์„œ ๊ตฌ์ฒด์ ์ธ UI๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค. Customer๋Š” CustomerProfile ๊ณผ CustomerInfo๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. ์—ฌ๊ธฐ์„œ props๋ฅผ ํ†ตํ•ด ์ปดํฌ๋„ŒํŠธ๋กœ ๊ฐ’์„ ๋ฐ›์•„์™”๋‹ค. - ์ฒ˜์Œ ํ•ด๋ณด๋Š” ๋ฆฌ์•กํŠธ ๊ณต๋ถ€์˜€๋Š”..

ํฌ๋ฃจ์Šค์นผ / ํ”„๋ฆผ / ๋‹ค์ต์ŠคํŠธ๋ผ
ALGORITHM 2021. 1. 14. 16:23

์ตœ์†Œ ์ŠคํŒจ๋‹ ํŠธ๋ฆฌ๋ž€ ์ŠคํŒจ๋‹ ํŠธ๋ฆฌ์ค‘ ๋ชจ๋“  ๊ฐ€์ค‘์น˜์˜ ํ•ฉ์ด ์ตœ์†Œ์ธ ํŠธ๋ฆฌ์ด๋‹ค. (ํ”„๋ฆผ, ํฌ๋ฃจ์Šค์นผ) 1. ํฌ๋ฃจ์Šค์นผ ์•Œ๊ณ ๋ฆฌ์ฆ˜ - ๊ฐ€์ค‘์น˜๊ฐ€ ์ตœ์†Œ์ธ ๊ฐ„์„ ์„ ํ•˜๋‚˜์”ฉ ์„ ํƒํ•ด ๋‚˜๊ฐ€๋Š” ๊ฐ„์„  ๊ธฐ๋ฐ˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ์‚ฌ์ดํด์ด ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ์— ๋Œ€ํ•ด์„œ๋Š” ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๊ฐ€ ํ•„์š”ํ•˜๋‹ค. def find_parent(a): # ๋ถ€๋ชจ์ฐพ๊ธฐ if parent[a] == a: return a else: parent[a] = find_parent(parent[a]) return parent[a] def merge(a, b): x = find_parent(a) y = find_parent(b) if x != y: parent[x] = y return True return False v, e = map(int, input().split()) parent = d..

ํŠธ๋ฆฌ ๊นŠ์ด ๊ตฌํ•˜๋Š” ๋ฐฉ์‹
ALGORITHM 2021. 1. 12. 16:13

1. BFS def depth(tree,root): queue = deque() queue.append((root,1)) visit = [] count = 1 while queue: #while๋ฌธ์„ ๋Œ๋ฆฌ๋Š” ๋งŒํผ ๊นŠ์ด ์ฆ๊ฐ€ v, count= queue.popleft() visit.append(v) for node in tree[v]: if node != '.' and node not in visit: queue.append((node,count+1)) return count ๊ฐ ๋…ธ๋“œ์—์„œ์˜ count๋ฅผ ๊ณ„์† ๋Š˜๋ ค์ฃผ๊ณ  while๋ฌธ์„ ๋น ์ ธ๋‚˜์™”์„ ๋•Œ ๋งˆ์ง€๋ง‰ count๋ฅผ ๋ฆฌํ„ดํ•˜๋ฉด ์ตœ๋Œ€ ๊นŠ์ด๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค. 2. ์žฌ๊ท€ def depth(tree,root): if root =='.': return 0 left = d..

article thumbnail
[BFS] ๋ฐฑ์ค€ 2178 ๋ฌธ์ œํ’€์ด
ALGORITHM 2020. 10. 26. 21:03

๋ง๊ทธ๋Œ€๋กœ ๋ฏธ๋กœํƒ์ƒ‰ ๋ฌธ์ œ์˜€๋‹ค. 1,1์—์„œ n,m๊นŒ์ง€ ์ด๋™ํ•˜๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ์ฐพ์œผ๋ฉด ๋œ๋‹ค. ์ตœ์†Œ์˜ ์นธ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— BFS๋ฅผ ์‚ฌ์šฉํ•˜์˜€๋‹ค. from collections import deque def bfs(v): queue.append((0, 0)) dx = [0, 0, 1, -1] dy = [1, -1, 0, 0] while queue: x, y = queue.popleft() for i in range(4): # ์ž์‹๋…ธ๋“œ ํ์— ์ถ”๊ฐ€ํ•˜๊ธฐ ์œ„ํ•จ nx, ny = x + dx[i], y + dy[i] if 0