문제 문자열이 주어질 떄 회문인지 판별하는 프로그램을 작성하시오 입력 문자열은 소문자로만 공백없이 들어옵니다. 예시 const test_case1 = 'racecar' // 'palindrome' const test_case2 = 'boob' // 'palindrome' const test_case3 = 'hello' // 'not palindrome' 풀이 function checkPalindrome(str) { const lastLength = str.length - 1; const _len = str.length % 2 === 1 ? lastLength / 2 - 1 : parseInt(lastLength / 2); let result = 'palindrome'; for (let i = 0; i
문제 다이아몬드 패턴을 생성하는 프로그램을 작성하시오. n을 입력받으면 *로 다이아몬드 패턴을 완성하세요 예시 const test_case = 2 // 출력 * *** * 풀이 function generateDiamondPattern(n) { const result = new Array(2 * n - 1); for (let i = n - 1; i >= 0; i--) { const start = n - i - 1; const end = n + i - 1; const blank = ' '.repeat(i); const star = '*'.repeat(2 * start + 1); result[start] = blank + star; result[end] = blank + star; } result.forEac..
문제 한나라와 초나라 사이의 싸움에서 사용되는 장기 게임은 각 플레이어가 16개의 기물을 사용합니다. 이 중에는 궁 1개, 사 2개, 포 2개, 차 2개, 상 2개, 마 2개, 그리고 졸 5개가 있습니다. 초나라 플레이어의 기물이 주어졌을 때, 정확히 몇 개의 기물이 필요한지를 출력하는 프로그램을 작성하십시오. 입력 공백을 기준으로 궁, 사, 포, 차, 상, 마, 졸을 입력받습니다. 예시 const test_case = "1 2 1 2 1 1 6" // 0 0 1 0 1 1 -1 풀이 const correct_case = [1, 2, 2, 2, 2, 2, 5]; function countChessPieces(pices) { return pices .split(' ') .map((e, idx) => cor..
문제 알파벳 대문자로 이루어진 문자열이 주어질 때, 각 문자를 전화번호 키패드에서 누르는데 걸리는 시간을 계산하여 총 소요 시간을 반환하는 함수를 작성하세요. 첫 번째 숫자를 누르는데 2초가 소요되며, 그 이후에는 2초씩 증가합니다.각 알파벳에 대해 전화번호 키패드에 해당하는 숫자는 다음과 같습니다 'A', 'B', 'C' → 1번 누름 'D', 'E', 'F' → 2번 누름 'G', 'H', 'I' → 3번 누름 'J', 'K', 'L' → 4번 누름 'M', 'N', 'O' → 5번 누름 'P', 'Q', 'R', 'S' → 6번 누름 'T', 'U', 'V' → 7번 누름 'W', 'X', 'Y', 'Z' → 8번 누름 입력 대문자로 공백없이 알파벳이 들어갑니다. 예시 const test_case ..
문제 주어진 문자열에서 공백으로 구분된 각 숫자를 거꾸로 읽은 후, 그 중 가장 큰 수를 반환하는 함수를 작성하십시오. 입력 const test_case = '4111111 3111111 2111111 1111111' 풀이 function findMaxValue(str) { return str .split(' ') .map((e) => +e.split('').reverse().join('')) .sort() .pop(); } 공백을 기준으로 숫자가 들어오기때문에 공백으로 나누어주고 각 숫자마다 배열화해서 뒤집어서 넘버형으로 만들어주고 정렬을 해준다음 가장 위에 있는 숫자를 꺼내줍니다.
문제 주어진 문자열에서 알파벳 소문자의 첫 번째 등장 위치를 찾아 반환하는 함수를 작성하세요. 주어진 문자열에 소문자 알파벳이 포함되지 않는 경우에는 해당 알파벳의 위치를 -1로 반환합니다. 입력 1글자 이상 알파벳 소문자 글자가 공백없이 들어갑니다. 예시 const test_case = 'abacabad' // [0, 1, 3, 7, -1, -1, -1, -1,-1, -1, -1, -1, -1, -1, -1, -1,-1, -1, -1, -1, -1, -1, -1, -1,-1, -1] 풀이 function findFirst(str) { const strArray = new Array(26).fill(-1); str.split('').forEach((element, _index) => { const idx..