Challenge
Careers
Class
Connect
로그인 후 문제풀이가 가능합니다.
JS
// 입력처리 const fs = require('fs') const input = fs.readFileSync('input.txt', 'utf8') .trim() .split(/\n+/) // 상자 let cipherBox = {} const plainText= input[0].split('') const keyText = input[1].split('') let startNum; startNum = 'A'.charCodeAt(0) let num = 0 keyText.forEach(char => { if (!(char in cipherBox)) { cipherBox[char] = num++ } }) for (let i = 'A'.charCodeAt(0); i <= 'Z'.charCodeAt(0); i++) { const char = String.fromCharCode(i) ...
제발 반례 좀 찾아주세요 ..... 50/62 맞습니다 ㅠㅠ
const input = require("fs").readFileSync("/dev/stdin").toString().split("\n"); const msg = input[0]; const key = input[1]; // 1. 표 채우기 const arr = Array.from(Array(5), () => Array(5).fill(0)); const alpha = Array(26).fill(false); let col = 0, row = 0; for (let i = 0; i < key.length; i++) { let num = key[i].charCodeAt(0) - 'A'.charCodeAt(0); if (!alpha[num]) { arr[row][col++] = key[i]; alpha[num] = true; if (col == 5) { row++; col = 0; } } } for (let i = 0; i < 26; i++) { if (i === 9) continue...
c++답
#include <bits/stdc++.h> using namespace std; string msg, key; int visited[26]; char p[5][5]; // 5x5 테이블 // 5x5 테이블을 생성하는 함수 void createTable(const string& key) { int r = 0, c = 0; for (int i = 0; i < key.size(); i++) { int temp = key[i] - 'A'; if (visited[temp]) continue; // 이미 사용된 문자 건너뛰기 visited[temp] = 1; p[r][c] = key[i]; c++; if (c == 5) { r++; c = 0; } // 행을 다 채웠으면 다음 행으로 } // 나머지 알파벳 채우기 (I와 J는 같은 것으로 취급) for (char ch = 'A'; ch <= 'Z'; ch++) { if (!visited[ch - 'A'] && ch != 'J') { //...