본문 바로가기
300x250

분류 전체보기198

코드스테이츠 11주차지만 6주차리뷰 - 기수이동 후 첫 주 섹션 투에서 기수이동되고나서 첫주가 흘렀다. 기수이동 되었을 때 약간의 충격을 받았던거와 달리 한주가 지나고 나서 이 글을 쓰는 지금, 기수이동 된 것에 굉장히 만족하고 있다. 그 이유는 자료 구조의 그래프와 트리를 조금은 이해할 수 있게 되었다. 기수이동 전 섹션투를 진행했을 때 자료구조 부분에서 나는 문제를 포기했었다. 13개의 스택, 큐, 트리, 그래프 문제가 있었고, 그 중에 나는 6개의 문제를 포기했었다. 레퍼런스는 봐도 이해 안되고, 뭔 소린지 도통 모르겠어서,,, 멘탈 붕괴 직전까지 가서 내가 싫었다ㅋㅋㅋㅋ 그냥 넘어가서 섹션쓰리를 배웠다면 오히려 더 고생했을거다. 두번째인 지금은 문제를 이해하고, 페어와 코드로 구현하고 반복하여 내것으로 만들었다. 다른 페어분도 도와줄 수 있을 정도로 문제.. 2021. 6. 20.
[알고리즘 문제풀이]올바른 괄호_프로그래머스 2단계 문제 문제설명 괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다. 예를 들어 "()()" 또는 "(())()" 는 올바른 괄호입니다. ")()(" 또는 "(()(" 는 올바르지 않은 괄호입니다. '(' 또는 ')' 로만 이루어진 문자열 s가 주어졌을 때, 문자열 s가 올바른 괄호이면 true를 return 하고, 올바르지 않은 괄호이면 false를 return 하는 solution 함수를 완성해 주세요. 주의사항 문자열 s의 길이 : 100,000 이하의 자연수 문자열 s는 '(' 또는 ')' 로만 이루어져 있습니다. 입출력예시 코드 function solution(str){ let answer = true; let stack = []; if(str[.. 2021. 6. 20.
[알고리즘 문제풀이] 10부제_기초문제 문제설명 뉴욕은 자동차 10부제를 시행한다. 자동차 10부제는 자동차 번호의 일의 자리 숫자와 날짜의 일의 자리 숫자가 일치하면 해당 자동차의 운행을 금지하는 것이다. 예를 들어, 자동차 번호의 일의 자리 숫자가 7이면 7일, 17일, 27일에 운행하지 못한다. 또한, 자동차 번호의 일의 자리 숫자가 0이면 10일, 20일, 30일에 운행하지 못한다. 날짜의 일의 자리 숫자가 주어지고 7대의 자동차 번호가 주어졌을 때 위반하는 자동차의 대수를 출력하는 프로그램을 작성하세요. 주의사항 변수 day = 날짜의 일의 자리 숫자가 주어지고 변수 arr = 7대의 자동차 번호가 주어진다. 입출력예시 const output1 = solution(3, [4425, 4723, 8211, 8447, 6953, 1117,.. 2021. 6. 19.
[알고리즘 문제풀이] 삼각형 판별하기 문제설명 길이가 서로 다른 a,b,c 세 개의 막대 길이가 주어지면 이 세 막대로 삼각형을 만들 수 있는지 확인한다. 가능하다면 true, 만들 수 없다면 false를 리턴한다. 주의사항 짧은 막대 2개의 합 === 긴 막대 1개 보다 커야 삼각형이 된다. 입출력예시 const result1 = solution( 44, 22, 65) ; console.log(result1); // true const result2 = solution( 10, 5, 2) ; console.log(result2); // false 코드 function solution( a , b , c ) { let answer= true let max; let sum = a+b+c; if( a > b ) max =a ; else max .. 2021. 6. 19.
[알고리즘 문제풀이] 키패드 누르기 문제설명 스마트폰 전화 키패드의 각 칸에 다음과 같이 숫자들이 적혀 있습니다. 이 전화 키패드에서 왼손과 오른손의 엄지손가락만을 이용해서 숫자만을 입력하려고 합니다. 맨 처음 왼손 엄지손가락은 * 키패드에 오른손 엄지손가락은 # 키패드 위치에서 시작하며, 엄지손가락을 사용하는 규칙은 다음과 같습니다. 엄지손가락은 상하좌우 4가지 방향으로만 이동할 수 있으며 키패드 이동 한 칸은 거리로 1에 해당합니다. 왼쪽 열의 3개의 숫자 1, 4, 7을 입력할 때는 왼손 엄지손가락을 사용합니다. 오른쪽 열의 3개의 숫자 3, 6, 9를 입력할 때는 오른손 엄지손가락을 사용합니다. 가운데 열의 4개의 숫자 2, 5, 8, 0을 입력할 때는 두 엄지손가락의 현재 키패드의 위치에서 더 가까운 엄지손가락을 사용합니다. 4-.. 2021. 6. 19.
[알고리즘 문제풀이]x만큼 간격이 있는 n개의 숫자_프로그래머스1단계 문제설명 함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요. 주의사항 x는 -10000000 이상, 10000000 이하인 정수입니다. n은 1000 이하인 자연수입니다. 입출력예시 코드 function solution(x, n) { let answer = []; for(let i =0; i 2021. 6. 18.
[알고리즘 문제풀이] 두 개 뽑아서 더하기 문제설명 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 주의사항 numbers의 길이는 2 이상 100 이하입니다 numbers의 모든 수는 0 이상 100 이하입니다. 입출력예시 코드 function solution(numbers) { var answer = []; for(let i =0; i < numbers.length ; i ++){ for(let j=i+1; j 2021. 6. 18.
[알고리즘 문제풀이]3개의 수를 더한 숫자를 소수 만들기 문제풀이 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 소수가 되는 경우의 개수를 return 하도록 solution 함수를 완성해주세요. 제한사항 nums에 들어있는 숫자의 개수는 3개 이상 50개 이하입니다. nums의 각 원소는 1 이상 1,000 이하의 자연수이며, 중복된 숫자가 들어있지 않습니다. 입출력예시 코드 function solution(nums) { let answer = 0, number=0; for(let i=0;i 2021. 6. 16.
[알고리즘 문제풀이]로또의 최고 순위와 최저 순위 문제설명 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 알아볼 수 없는 번호를 0으로 표기하기로 하고, 민우가 구매한 로또 번호 6개가 44, 1, 0, 0, 31 25라고 가정해보겠습니다. 당첨 번호 6개가 31, 10, 45, 1, 6, 19라면, 당첨 가능한 최고 순위와 최저 순위의 한 예는 아래와 같습니다. 순서와 상관없이, 구매한 로또에 당첨 번호와 일치하는 번호가 있으면 맞힌 걸로 인정됩니다. 알아볼 수 없는 두 개의 번호를 각각 10, 6이라고 가정하면 3등에 당첨될 수 있습니다. 3등을 만드는 다른 방법들도 존재합니다. 하지만, 2등 이상으로 만드는 것은 불가능합니다. 알아볼 수 없는 두.. 2021. 6. 15.
반응형