Algorithm/๋ฐฑ์ค(BOJ)
๐ ๋ฌธ์ N์ฅ์ ์นด๋๊ฐ ์๋ค. ๊ฐ๊ฐ์ ์นด๋๋ ์ฐจ๋ก๋ก 1๋ถํฐ N๊น์ง์ ๋ฒํธ๊ฐ ๋ถ์ด ์์ผ๋ฉฐ, 1๋ฒ ์นด๋๊ฐ ์ ์ผ ์์, N๋ฒ ์นด๋๊ฐ ์ ์ผ ์๋์ธ ์ํ๋ก ์์๋๋ก ์นด๋๊ฐ ๋์ฌ ์๋ค. ์ด์ ๋ค์๊ณผ ๊ฐ์ ๋์์ ์นด๋๊ฐ ํ ์ฅ ๋จ์ ๋๊น์ง ๋ฐ๋ณตํ๊ฒ ๋๋ค. ์ฐ์ , ์ ์ผ ์์ ์๋ ์นด๋๋ฅผ ๋ฐ๋ฅ์ ๋ฒ๋ฆฐ๋ค. ๊ทธ ๋ค์, ์ ์ผ ์์ ์๋ ์นด๋๋ฅผ ์ ์ผ ์๋์ ์๋ ์นด๋ ๋ฐ์ผ๋ก ์ฎ๊ธด๋ค. ์๋ฅผ ๋ค์ด N=4์ธ ๊ฒฝ์ฐ๋ฅผ ์๊ฐํด ๋ณด์. ์นด๋๋ ์ ์ผ ์์์๋ถํฐ 1234 ์ ์์๋ก ๋์ฌ์๋ค. 1์ ๋ฒ๋ฆฌ๋ฉด 234๊ฐ ๋จ๋๋ค. ์ฌ๊ธฐ์ 2๋ฅผ ์ ์ผ ์๋๋ก ์ฎ๊ธฐ๋ฉด 342๊ฐ ๋๋ค. 3์ ๋ฒ๋ฆฌ๋ฉด 42๊ฐ ๋๊ณ , 4๋ฅผ ๋ฐ์ผ๋ก ์ฎ๊ธฐ๋ฉด 24๊ฐ ๋๋ค. ๋ง์ง๋ง์ผ๋ก 2๋ฅผ ๋ฒ๋ฆฌ๊ณ ๋๋ฉด, ๋จ๋ ์นด๋๋ 4๊ฐ ๋๋ค. N์ด ์ฃผ์ด์ก์ ๋, ์ ์ผ ๋ง์ง๋ง์ ๋จ๊ฒ ๋๋ ์นด๋๋ฅผ ๊ตฌํ๋ ..
Algorithm/๋ฐฑ์ค(BOJ)
๐ ๋ฌธ์ (์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ) 1181๋ฒ: ๋จ์ด ์ ๋ ฌ ์ฒซ์งธ ์ค์ ๋จ์ด์ ๊ฐ์ N์ด ์ฃผ์ด์ง๋ค. (1 ≤ N ≤ 20,000) ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์ ๊ฑธ์ณ ์ํ๋ฒณ ์๋ฌธ์๋ก ์ด๋ฃจ์ด์ง ๋จ์ด๊ฐ ํ ์ค์ ํ๋์ฉ ์ฃผ์ด์ง๋ค. ์ฃผ์ด์ง๋ ๋ฌธ์์ด์ ๊ธธ์ด๋ 50์ ๋์ง ์๋๋ค. www.acmicpc.net ๐ ํ์ด const fs = require('fs'); const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n'); function solution(input) { let answer; const [size, ...arr] = input; // ๊ฐ์ ๋จ์ด๊ฐ ์ฌ๋ฌ ๋ฒ ์
๋ ฅ๋ ๊ฒฝ์ฐ์๋ ํ ๋ฒ์ฉ๋ง ์ถ๋ ฅ let newArr = [...new Set(arr)]; ..
Algorithm/๋ฐฑ์ค(BOJ)
๐ ๋ฌธ์ (๋ธ๋ฃจํธํฌ์ค ์๊ณ ๋ฆฌ์ฆ) 1018๋ฒ: ์ฒด์คํ ๋ค์ ์น ํ๊ธฐ ์ฒซ์งธ ์ค์ N๊ณผ M์ด ์ฃผ์ด์ง๋ค. N๊ณผ M์ 8๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 50๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ ๋ณด๋์ ๊ฐ ํ์ ์ํ๊ฐ ์ฃผ์ด์ง๋ค. B๋ ๊ฒ์์์ด๋ฉฐ, W๋ ํฐ์์ด๋ค. www.acmicpc.net ๐ ํ์ด ๋งจ ์ผ์ชฝ ์ ์นธ์ด ํฐ์์ธ ๊ฒฝ์ฐ, ํ๋๋ ๊ฒ์์์ธ ๊ฒฝ์ฐ์ ์ ์์ ์ผ๋ก ์น ํด์ง 8 x 8 ํฌ๊ธฐ์ ์ฒด์คํ์ ๋ฏธ๋ฆฌ ์ค๋นํ๋ค. let white = ['WBWBWBWB', 'BWBWBWBW', 'WBWBWBWB', 'BWBWBWBW', 'WBWBWBWB', 'BWBWBWBW', 'WBWBWBWB', 'BWBWBWBW'] let black = ['BWBWBWBW', 'WBWBWBWB', 'BWBWBWBW', 'WBWBWBWB',..
Algorithm/๋ฐฑ์ค(BOJ)
๋ฌธ์ N๊ฐ์ ์๊ฐ ์ฃผ์ด์ก์ ๋, ์ด๋ฅผ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์
๋ ฅ ์ฒซ์งธ ์ค์ ์์ ๊ฐ์ N(1 ≤ N ≤ 10,000,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ ์๊ฐ ์ฃผ์ด์ง๋ค. ์ด ์๋ 10,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค. ์ถ๋ ฅ ์ฒซ์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ ๊ฒฐ๊ณผ๋ฅผ ํ ์ค์ ํ๋์ฉ ์ถ๋ ฅํ๋ค. ํ์ด import sys input = sys.stdin.readline N = int(input()) # ๋ชจ๋ ๋ฒ์๋ฅผ ํฌํจํ๋ ๋ฆฌ์คํธ ์ ์ธ(๋ชจ๋ ๊ฐ์ 0์ผ๋ก ์ด๊ธฐํ) count = [0] * 10001 # ๊ฐ ๋ฐ์ดํฐ์ ํด๋นํ๋ ์ธ๋ฑ์ค์ ๊ฐ ์ฆ๊ฐ for i in range(N): count[int(input())] += 1 # ๋ฆฌ์คํธ์ ๊ธฐ๋ก๋ ์ ๋ ฌ ์ ๋ณด ํ์ธ for i i..
Algorithm/๋ฐฑ์ค(BOJ)
๋ฌธ์ N๊ฐ์ ์๊ฐ ์ฃผ์ด์ก์ ๋, ์ด๋ฅผ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์
๋ ฅ ์ฒซ์งธ ์ค์ ์์ ๊ฐ์ N(1 ≤ N ≤ 1,000,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ ์๊ฐ ์ฃผ์ด์ง๋ค. ์ด ์๋ ์ ๋๊ฐ์ด 1,000,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์ ์์ด๋ค. ์๋ ์ค๋ณต๋์ง ์๋๋ค. ์ถ๋ ฅ ์ฒซ์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ ๊ฒฐ๊ณผ๋ฅผ ํ ์ค์ ํ๋์ฉ ์ถ๋ ฅํ๋ค. ํ์ด import sys input = sys.stdin.readline N = int(input()) data = [] for i in range(N): data.append(int(input())) # ์ค๋ฆ์ฐจ์ ์ ๋ ฌ data.sort() print(*data, sep='\n') ์ง๊ณ ๋์ด๊ฐ์ผ ํ ๋ถ๋ถโ ์
๋ ฅ์ ๊ฐ์๊ฐ ๋ง์ ๊ฒฝ์ฐ์๋ ๋จ์..
Algorithm/๋ฐฑ์ค(BOJ)
๋ฌธ์ ์ํ๋ฒณ ๋์๋ฌธ์๋ก ๋ ๋จ์ด๊ฐ ์ฃผ์ด์ง๋ฉด, ์ด ๋จ์ด์์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋ ์ํ๋ฒณ์ด ๋ฌด์์ธ์ง ์์๋ด๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ๋จ, ๋๋ฌธ์์ ์๋ฌธ์๋ฅผ ๊ตฌ๋ถํ์ง ์๋๋ค. ํ์ด const input = require('fs').readFileSync('์์ .txt').toString().trim().toUpperCase(); // 26์ ๊ธธ์ด๋ฅผ ๊ฐ์ง ๋น ๋ฐฐ์ด์ 0์ ์ฑ์์ ๋ฐฐ์ด ๊ฐ์ฒด ์์ฑ const arr = new Array(26).fill(0); // ๋ฌธ์ A์ ์ธ๋ฑ์ค = 0 (UTF-16 ์ฝ๋๋ฅผ ๋ํ๋ด๋ ์ ์ - 65) for (let i = 0; i < input.length; i++) { arr[input.charCodeAt(i) - 65]++; } // ๋ฐฐ์ด ์์์ ์ต๋๊ฐ ์ฐพ๊ธฐ const max =..
Algorithm/๋ฐฑ์ค(BOJ)
๋ฌธ์ ์ํ๋ฒณ ์๋ฌธ์๋ก๋ง ์ด๋ฃจ์ด์ง ๋จ์ด S๊ฐ ์ฃผ์ด์ง๋ค. ๊ฐ๊ฐ์ ์ํ๋ฒณ์ ๋ํด์, ๋จ์ด์ ํฌํจ๋์ด ์๋ ๊ฒฝ์ฐ์๋ ์ฒ์ ๋ฑ์ฅํ๋ ์์น๋ฅผ, ํฌํจ๋์ด ์์ง ์์ ๊ฒฝ์ฐ์๋ -1์ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ํ์ด const input = require('fs').readFileSync('์์ .txt').toString().trim().split(''); let result = ''; // UTF-16 ์ฝ๋ ์ ๋์ ์ํ์ค๋ก๋ถํฐ a - z ๋ฌธ์๋ฅผ ์์ฑํ ํ ํด๋น ๋ฌธ์์ ์ธ๋ฑ์ค๋ฅผ ๋ฐํ // ํด๋น ๋ฌธ์๊ฐ ์กด์ฌํ์ง ์์ผ๋ฉด -1์ ๋ฐํ for (let i = 97; i
Algorithm/๋ฐฑ์ค(BOJ)
๋ฌธ์ ์๊ทผ์ด์ ๋์ ์์๋ ์ํ์ ์ ๋ง ๋ชปํ๋ค. ์์๋ ์ซ์๋ฅผ ์ฝ๋๋ฐ ๋ฌธ์ ๊ฐ ์๋ค. ์ด๋ ๊ฒ ์ํ์ ๋ชปํ๋ ์์๋ฅผ ์ํด์ ์๊ทผ์ด๋ ์์ ํฌ๊ธฐ๋ฅผ ๋น๊ตํ๋ ๋ฌธ์ ๋ฅผ ๋ด์ฃผ์๋ค. ์๊ทผ์ด๋ ์ธ ์๋ฆฌ ์ ๋ ๊ฐ๋ฅผ ์น ํ์ ์จ์ฃผ์๋ค. ๊ทธ ๋ค์์ ํฌ๊ธฐ๊ฐ ํฐ ์๋ฅผ ๋งํด๋ณด๋ผ๊ณ ํ๋ค. ์์๋ ์๋ฅผ ๋ค๋ฅธ ์ฌ๋๊ณผ ๋ค๋ฅด๊ฒ ๊ฑฐ๊พธ๋ก ์ฝ๋๋ค. ์๋ฅผ ๋ค์ด, 734์ 893์ ์น ํ์ ์ ์๋ค๋ฉด, ์์๋ ์ด ์๋ฅผ 437๊ณผ 398๋ก ์ฝ๋๋ค. ๋ฐ๋ผ์, ์์๋ ๋ ์์ค ํฐ ์์ธ 437์ ํฐ ์๋ผ๊ณ ๋งํ ๊ฒ์ด๋ค. ๋ ์๊ฐ ์ฃผ์ด์ก์ ๋, ์์์ ๋๋ต์ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ํ์ด const input = require('fs').readFileSync('/dev/stdin').toString().trim().split(' '); // ๊ฐ๊ฐ์ ๋ฌธ์..