From 0d9bc9a25f93182d503292eee0dd9cf1a8460763 Mon Sep 17 00:00:00 2001 From: Jeongan Lee <84510455+fkdl0048@users.noreply.github.com> Date: Tue, 18 Jun 2024 22:55:19 +0900 Subject: [PATCH] BOJ-EX: 6/18/2024, 10:55:18 PM --- .../README.md" | 34 ++++++++ ...353\240\254\355\225\230\352\270\260 2.cpp" | 21 +++++ .../README.md" | 40 +++++++++ ...\353\242\260 \354\260\276\352\270\260.cpp" | 81 ++++++++++++++++++ ...\353\242\260 \354\260\276\352\270\260.exe" | Bin 0 -> 99870 bytes 5 files changed, 176 insertions(+) create mode 100644 "11651\353\262\210\357\274\232 \354\242\214\355\221\234 \354\240\225\353\240\254\355\225\230\352\270\260 2/README.md" create mode 100644 "11651\353\262\210\357\274\232 \354\242\214\355\221\234 \354\240\225\353\240\254\355\225\230\352\270\260 2/\354\242\214\355\221\234 \354\240\225\353\240\254\355\225\230\352\270\260 2.cpp" create mode 100644 "1996\353\262\210\357\274\232 \354\247\200\353\242\260 \354\260\276\352\270\260/README.md" create mode 100644 "1996\353\262\210\357\274\232 \354\247\200\353\242\260 \354\260\276\352\270\260/\354\247\200\353\242\260 \354\260\276\352\270\260.cpp" create mode 100644 "1996\353\262\210\357\274\232 \354\247\200\353\242\260 \354\260\276\352\270\260/\354\247\200\353\242\260 \354\260\276\352\270\260.exe" diff --git "a/11651\353\262\210\357\274\232 \354\242\214\355\221\234 \354\240\225\353\240\254\355\225\230\352\270\260 2/README.md" "b/11651\353\262\210\357\274\232 \354\242\214\355\221\234 \354\240\225\353\240\254\355\225\230\352\270\260 2/README.md" new file mode 100644 index 0000000..2586061 --- /dev/null +++ "b/11651\353\262\210\357\274\232 \354\242\214\355\221\234 \354\240\225\353\240\254\355\225\230\352\270\260 2/README.md" @@ -0,0 +1,34 @@ +# 11651번: 좌표 정렬하기 2 - Silver V + + + + + + + +## 문제 + +[문제 링크](https://boj.kr/11651) + + +

2차원 평면 위의 점 N개가 주어진다. 좌표를 y좌표가 증가하는 순으로, y좌표가 같으면 x좌표가 증가하는 순서로 정렬한 다음 출력하는 프로그램을 작성하시오.

+ + + +## 입력 + + +

첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다.

+ + + +## 출력 + + +

첫째 줄부터 N개의 줄에 점을 정렬한 결과를 출력한다.

+ + + +## 소스코드 + +[소스코드 보기](좌표%20정렬하기%202.cpp) \ No newline at end of file diff --git "a/11651\353\262\210\357\274\232 \354\242\214\355\221\234 \354\240\225\353\240\254\355\225\230\352\270\260 2/\354\242\214\355\221\234 \354\240\225\353\240\254\355\225\230\352\270\260 2.cpp" "b/11651\353\262\210\357\274\232 \354\242\214\355\221\234 \354\240\225\353\240\254\355\225\230\352\270\260 2/\354\242\214\355\221\234 \354\240\225\353\240\254\355\225\230\352\270\260 2.cpp" new file mode 100644 index 0000000..df00fe2 --- /dev/null +++ "b/11651\353\262\210\357\274\232 \354\242\214\355\221\234 \354\240\225\353\240\254\355\225\230\352\270\260 2/\354\242\214\355\221\234 \354\240\225\353\240\254\355\225\230\352\270\260 2.cpp" @@ -0,0 +1,21 @@ +/* ************************************************************************** */ +/* */ +/* ::: ::: ::: */ +/* Problem Number: 11651 :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: fkdl4878 +#+ +#+ +#+ */ +/* +#+ +#+ +#+ */ +/* https://boj.kr/11651 #+# #+# #+# */ +/* Solved: 2024/06/18 22:08:28 by fkdl4878 ### ### ##.kr */ +/* */ +/* ************************************************************************** */ + +#include + +using namespace std; + +int main() +{ + int n; + vector +} \ No newline at end of file diff --git "a/1996\353\262\210\357\274\232 \354\247\200\353\242\260 \354\260\276\352\270\260/README.md" "b/1996\353\262\210\357\274\232 \354\247\200\353\242\260 \354\260\276\352\270\260/README.md" new file mode 100644 index 0000000..32be65d --- /dev/null +++ "b/1996\353\262\210\357\274\232 \354\247\200\353\242\260 \354\260\276\352\270\260/README.md" @@ -0,0 +1,40 @@ +# 1996번: 지뢰 찾기 - Silver V + + + + + + + +## 문제 + +[문제 링크](https://boj.kr/1996) + + +

다들 windows에서 지원하는 지뢰 찾기 게임을 한번쯤은 해 보았을 것이다. 특히 동호는 지뢰찾기의 매니아로 알려져 있다. 지뢰 찾기 map은 N*N의 정사각형 모양으로 각 칸에는 숫자가 들어가 있거나 지뢰가 들어가 있다. 빈 칸에는 숫자 0이 들어있다고 생각하자.

+ +

map의 어떤 칸에 적혀 있는 숫자는, 그 칸과 인접해 있는 여덟 개의 칸 중에서 지뢰가 들어 있는 칸이 몇 개인지를 나타내 준다. 물론 인접한 칸이 map 내부에 있는 경우에 대해서만 생각하면 된다. 예제를 보면 더 잘 이해할 수 있을 것이다.

+ +

이번 문제는 조금 업그레이드 된 지뢰 찾기로, 한 칸에 한 개의 지뢰가 있는 것이 아니고, 한 칸에 여러 개(1 이상 9 이하)의 지뢰가 묻혀 있는 게임이다. 따라서 map의 어떤 칸에 적혀 있는 숫자는, 그 칸과 인접해 있는 여덟 개의 칸들에 들어 있는 지뢰의 총 개수가 된다.

+ +

이미 windows 지뢰찾기 같은 것을 마스터한 영식이는, map에서 지뢰에 대한 정보만이 주어졌을 때, 영식이는 map을 완성하고 싶다고 한다. N과 지뢰의 위치가 주어졌을 때, 영식이를 도와서 지뢰 찾기 map을 완성하는 프로그램을 작성하시오.

+ + + +## 입력 + + +

첫째 줄에 N(1 ≤ N ≤ 1,000)이 주어진다. 다음 N개의 줄에는 지뢰 찾기 map에 대한 정보가 주어지는데 '.' 또는 숫자로 이루어진 문자열이 들어온다. '.'는 지뢰가 없는 것이고 숫자는 지뢰가 있는 경우로 그 칸의 지뢰의 개수이다. 한 줄은 N개의 문자로 이루어져 있다.

+ + + +## 출력 + + +

N개의 줄에 걸쳐서 완성된 지뢰 찾기 map을 출력한다. 지뢰는 '*'로 출력하며. 10 이상인 경우는 'M'(Many)으로 출력하면 된다. map은 숫자 또는 'M' 또는 '*'로만 이루어져 있어야 한다.

+ + + +## 소스코드 + +[소스코드 보기](지뢰%20찾기.cpp) \ No newline at end of file diff --git "a/1996\353\262\210\357\274\232 \354\247\200\353\242\260 \354\260\276\352\270\260/\354\247\200\353\242\260 \354\260\276\352\270\260.cpp" "b/1996\353\262\210\357\274\232 \354\247\200\353\242\260 \354\260\276\352\270\260/\354\247\200\353\242\260 \354\260\276\352\270\260.cpp" new file mode 100644 index 0000000..356ae77 --- /dev/null +++ "b/1996\353\262\210\357\274\232 \354\247\200\353\242\260 \354\260\276\352\270\260/\354\247\200\353\242\260 \354\260\276\352\270\260.cpp" @@ -0,0 +1,81 @@ +/* ************************************************************************** */ +/* */ +/* ::: ::: ::: */ +/* Problem Number: 1996 :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: fkdl4878 +#+ +#+ +#+ */ +/* +#+ +#+ +#+ */ +/* https://boj.kr/1996 #+# #+# #+# */ +/* Solved: 2024/06/18 22:10:28 by fkdl4878 ### ### ##.kr */ +/* */ +/* ************************************************************************** */ + +// N*N의 맵 (정사각형) +// 각 칸에 숫자나 지뢰 +// 각 칸의 숫자는 8방향으로 인접한 지뢰의 개수를 나타냄 +// option. N*N에 속할 때만 +// 지뢰는 1개만 존재하는 것이 아닌 한 셀에 여러개가 존재할 수 있다. (1~9) +// 맵에 주어진 지뢰(개수)를 받아 실제 지뢰찾기 판을 만들어라 +// condition. 지뢰는 *으로 개수는 숫자로 10개 이상이라면 M으로 나타냄 + +// 설계 +// 보드 판은 Char 2차원 벡터로 +// 각 숮자 입력은 그리디로 탐색 +// ? 새로운 벡터를 만들어야 할까? + +#include + +using namespace std; + +int main() +{ + int n, cnt; + char c; + cin >> n; + vector> v(n, vector(n)); + vector> resultVector(n, vector(n)); + pair dir[8] = {{1, 0}, {1, 1}, {0, 1}, {-1, 1}, {-1, 0}, {-1, -1}, {0, -1}, {1, -1}}; + + for (int i = 0; i < n; i++){ + for (int j = 0; j < n; j++){ + cin >> v[i][j]; + } + } + + int xPos, yPos; + for (int i = 0; i < n; i++){ + for (int j = 0; j < n; j++){ + + c = v[i][j]; + + if (isdigit(c)){ + resultVector[i][j] = '*'; + } + else{ + cnt = 0; + for (int k = 0; k < 8; k++){ + xPos = j + dir[k].first; + yPos = i + dir[k].second; + if ((xPos < 0 || xPos >= n) || (yPos < 0 || yPos >= n)) + continue; + + c = v[yPos][xPos]; + if (isdigit(c)){ + cnt += c - '0'; + } + } + if (cnt >= 10) + resultVector[i][j] = 'M'; + else + resultVector[i][j] = '0' + cnt; + } + } + } + + for (int i = 0; i < n; i++){ + for (int j = 0; j < n; j++){ + cout << resultVector[i][j]; + } + cout << '\n'; + } +} diff --git "a/1996\353\262\210\357\274\232 \354\247\200\353\242\260 \354\260\276\352\270\260/\354\247\200\353\242\260 \354\260\276\352\270\260.exe" "b/1996\353\262\210\357\274\232 \354\247\200\353\242\260 \354\260\276\352\270\260/\354\247\200\353\242\260 \354\260\276\352\270\260.exe" new file mode 100644 index 0000000000000000000000000000000000000000..407350f293ed580e43d9bce85563a4f15cbaecad GIT binary patch literal 99870 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

C!&a!e!E#1m@QsW)}WEibhG) zUtSUcl&owuJPp7I6DvJID_S#DjbQjBaK7!VK#HcR|EwxqQ!O)DN)eg%1L0f||J|(r zLJVC5{rkxYCXN=1-aV%m-DG}jC(7<8%JcNhg7R$K$Ks*UY4)ZxfKvN3jA{gk*=UTC zcZdq8<~1iEA^Ut6uw@(!P+B-_Hwp&ru6!>5>FDYmVp?Iwrl(xD8=dgWM`N^58CnQC z3!&+)V4Pvqf!8OspP|6c~#W^wk5lLA=}!;I|0TH zdjt%O`hl7%1vR~bNXOz+#9cbU}j{(NgH;Ecu#8Pk+S)^~H zvuYB0UgHpq$-9iRUWgG`Ba;Q@9$pafjRqqw#=|I#_c1X!+CYnG!4dq(7J}Nz@L8-i z6p6JGl;Q>po&%6z=uH9T6757ahTs*Gr@qK93+Qgap&)TeNN0!_yn8CKk<6v)hEzv| zc-o?&x(xB7_6erKKAY+=r=zVXI4+r2$_j?$Qqb=bHF6IXBH{6O0F0${QNgv;ePMtnmU?K7 z0NKnfxR3xc#r~%c^xCC&8yLUMV3=W>qqjI@St{g*1)!8XZHlDl)2jpQTTXS%xN(|D z@>rFmBIK*YtO{~1*pKAbJ#|J&zLm6~KbKUw2$l_Kd!uXAt7*^&ChKOB!%lw7lvO4d zVI>LlfH0NkSeK$qt4Wj}9bhk|&3G6NwJoZZUF=5ViHvM zVas-U`S+!#HIc<}81}JhBIeSzqozx!S=Ww1J~~mK9ZOLWJ@-UNHe3SucXN=oC~c!XlR4ck|FiVO8Pra?UL<4)l!(EE3V7Xv#Q; zgHjsDlC=jd)MyUI#}psHr`SN&izciCaE}}8r#qB5`YU!kTo(x^y}%BUnby1vXLh2I zEL@Ko6w>`7vNiHS+p6NYmPmckM_uSou(Ffp03+!frYDFo%v6+%f}vRc?GD?=b3`~) zD{4K4w&_{hN*im7wrQjoL^&5pLq`}Yb+X{a{evqtUklW=PjcsW9Z901!$11T-xDIU zRa+9)unKeim5AL$&J^|dL2c-Z3>gJEUEk34HDHUANESu~YuW2@#}z^oObZ z%^3WIzqMi-dZ2C4j}3K>qWX-dMs&8t6`_X|0+ZA~TJvKscQc`!LgwhoZY;10xzRdS zS#@x!&L;gcNaE`Tqgr70PX#Z7Au9+;H2CYMwB+Q>*jfB?(Hhn;@_%YQsG7w}qTJ3! zs*9`!LCgR$QF!D=1^%L9H+qH06x8{6#XmL8yD@Uv%EVnGz+sl0uN1gA;*faQ!pN^~ z=GI8Zt6B%;?X+-!0!QbFrDl|huG~#yKMnAiAF=*#_C)^18-ofaa-85|pqyhm0Td-C zR