인생은 회전목마 우린 매일 달려가

언제쯤 끝날진 잘 몰라

Study/Algorithm 23

[백준] 9012번 괄호 - Node.js/javascript

https://www.acmicpc.net/problem/9012 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 1 초 128 MB 135478 62090 44888 44.731% 문제 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 부른다. ..

Study/Algorithm 2022.09.23

[JavaScript 알고리즘] 가위 바위 보

A, B 두 사람이 가위바위보 게임을 합니다. 총 N번의 게임을 하여 A가 이기면 A를 출력하고, B가 이기면 B를 출력합니다. 비길 경우에는 D를 출력합니다. 가위, 바위, 보의 정보는 1:가위, 2:바위, 3:보로 정하겠습니다. 예를 들어 N=5이면 회수 1 2 3 4 5 A의 정보 2 3 3 1 3 B의 정보 1 1 2 2 3 승자 A B A B D 두 사람의 각 회의 가위, 바위, 보 정보가 주어지면 각 회를 누가 이겼는지 출력하는 프로그램 을 작성하세요. ▣ 입력설명 첫 번째 줄에 게임 횟수인 자연수 N(1

Study/Algorithm 2022.07.12

[프로그래머스] 크레인 인형뽑기 게임 - Javascript

문제 설명 게임개발자인 "죠르디"는 크레인 인형뽑기 기계를 모바일 게임으로 만들려고 합니다. "죠르디"는 게임의 재미를 높이기 위해 화면 구성과 규칙을 다음과 같이 게임 로직에 반영하려고 합니다. 게임 화면은 "1 x 1" 크기의 칸들로 이루어진 "N x N" 크기의 정사각 격자이며 위쪽에는 크레인이 있고 오른쪽에는 바구니가 있습니다. (위 그림은 "5 x 5" 크기의 예시입니다). 각 격자 칸에는 다양한 인형이 들어 있으며 인형이 없는 칸은 빈칸입니다. 모든 인형은 "1 x 1" 크기의 격자 한 칸을 차지하며 격자의 가장 아래 칸부터 차곡차곡 쌓여 있습니다. 게임 사용자는 크레인을 좌우로 움직여서 멈춘 위치에서 가장 위에 있는 인형을 집어 올릴 수 있습니다. 집어 올린 인형은 바구니에 쌓이게 되는 데,..

Study/Algorithm 2022.07.12

[프로그래머스] 숫자 문자열과 영단어 - Javascript

문제 설명 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자릿수를 영단어로 바꾸는 예시입니다. 1478 → "one4seveneight" 234567 → "23four5six7" 10203 → "1zerotwozero3" 이렇게 숫자의 일부 자릿수가 영단어로 바뀌어졌거나, 혹은 바뀌지 않고 그대로인 문자열 s가 매개변수로 주어집니다. s가 의미하는 원래 숫자를 return 하도록 solution 함수를 완성해주세요. 참고로 각 숫자에 대응되는 영단어는 다음 표와 같습니다. 숫자 영단어 0 zero 1 one 2 two 3 three 4 four 5 five 6 six 7 ..

Study/Algorithm 2022.07.12

[프로그래머스] 두 개 뽑아서 더하기 / JavaScript

문제 설명 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한사항 numbers의 길이는 2 이상 100 이하입니다. numbers의 모든 수는 0 이상 100 이하입니다. 입출력 예 numbers result [2,1,3,4,1] [2,3,4,5,6,7] [5,0,2,7] [2,5,7,9,12] 입출력 예 설명 입출력 예 #1 2 = 1 + 1 입니다. (1이 numbers에 두 개 있습니다.) 3 = 2 + 1 입니다. 4 = 1 + 3 입니다. 5 = 1 + 4 = 2 + 3 입니다. 6 = 2 + 4 입니다. 7 = 3 + 4 입..

Study/Algorithm 2022.07.01

[프로그래머스] 삼진법 뒤집기

문제 설명 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수입니다. 입출력 예 n result 45 7 125 229 입출력 예 설명 입출력 예 #1 답을 도출하는 과정은 다음과 같습니다. n (10진법) n (3진법) 앞뒤 반전 (3진법) 10진법 result 45 1200 0021 7 따라서 7을 return 해야 합니다. 입출력 예 #2 답을 도출하는 과정은 다음과 같습니다. n (10진법) n (3진법) 앞뒤 반전 (3진법) 10진법 result 125 11122 22111 229 따라서 229를 return 해야 합니다...

Study/Algorithm 2022.07.01

[JavaScript 알고리즘] 문자 찾기

한 개의 문자열을 입력받고, 특정 문자를 입력받아 해당 특정 문자가 문자열에 몇 개 존재하는지 알아내는 프로그램을 작성하세요. 문자열의 길이는 100을 넘지 않습니다. 입력설명 문자열과 문자가 주어진ㄴ다. 출력설명 해당 문자의 개수를 출력한다. // 내 답 function solution(s, t){ return s.split(t).length-1 } // 선생님 답 function solution(s, t){ let answer=0; for(let x of s){ if(x===t) answer++; } return answer; } function solution(s, t){ let answer=s.split(t).length; return answer-1; } let str="COMPUTERPROGR..

Study/Algorithm 2022.07.01

[JavaScript 알고리즘] A를 #으로

대문자로 이루어진 영어단어가 입력되면 단어에 포함된 'A'를 모두 '#'으로 바꾸어 출력하는 프로그램을 작성하세요. // 내 답 function solution(s) { s.replace(/A/g, '#') // 대소구분 안할거면 /A/gi } // 선생님 답 function solution(s) { let answer = ""; for (let x of s) { if (x == 'A') answer += '#'; else answer += x; } return answer; } let str = "BANANA"; console.log(solution(str)); 정규표현식을 사용하면 굉장히 간단하게 풀 수 있다. 주석에 달아놨듯 대소구분을 안할거면 gi로 해주면 된다. 선생님 답은 입력받은 s를 for..

Study/Algorithm 2022.07.01

[JavaScript 알고리즘] 일곱 난쟁이

왕비를 피해 일곱 난쟁이들과 함께 평화롭게 생활하고 있던 백설공주에게 위기가 찾아왔다. 일과를 마치고 돌아온 난쟁이가 일곱 명이 아닌 아홉 명이었던 것이다...!!! 아홉 명의 난쟁이는 모두 자신이 '백설공주와 일곱 난쟁이'의 주인공이라고 주장했다. 뛰어난 수학적 직관력을 가지고 있던 백설공주는 다행이도 일곱 난쟁이 키의 합이 100이라는 것을 기억해냈다. 아홉 난쟁이의 키가 주어졌을 때, 백성공주를 도와 일곱 난쟁이를 찾는 프로그램을 작성하세요 입력 설명 아홉 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며 아홉 난쟁이의 키는 모두 다르고 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. 출력설명 입력된 순서대로 일곱 난쟁이의 키를 출력한다. function so..

Study/Algorithm 2022.07.01