프로그래머스

    [JavaScript] 프로그래머스 - 가운데 글자 가져오기

    [JavaScript] 프로그래머스 - 가운데 글자 가져오기

    문제 해결 1. 문자열의 길이가 짝수인지 홀수인지에 따라 다르게 판별한다. 2. 문자열의 길이가 짝수이면 (1) 두 글자를 출력해야 하므로 slice를 이용한다. (2) JavaScript에서는 바로 몫을 구하는 방법이 없으므로 (3) 나누기를 한 후 정수로 변환한다. 3. 문자열의 길이가 홀수라면 (1) 가운데 글자를 출력한다. 🌦 오늘은 정수변환 parseInt, 인덱싱 slice 를 익혔다. 🚗 parseInt a = 2.5 console.log(a) // 2.5 console.log(parseInt(a)) // 2 🚙 slice arr = ['banana', 'apple', 'grape', 'kiwi'] console.log(arr.slice(2)) // [ 'grape', 'kiwi' ] | 2..

    [JavaScript] 프로그래머스 - 모의고사

    [JavaScript] 프로그래머스 - 모의고사

    문제 해결 1. 학생들의 정답을 찍는 패턴을 배열에 담는다. 2. 학생들이 찍은 정답과 문제의 정답을 차례차례 비교한다. (1) 이 때, 학생들의 정답 패턴 길이보다 문제 배열의 길이가 길 경우 (2) 현재의 인덱스를 정답 패턴 길이로 나누고 나머지를 구한다. (3) 학생들의 정답을 맞출 경우 스코어를 +1씩 올려준다. 3. 세 학생의 스코어중 가장 큰 값을 구하고 4. 가장 큰 값과 학생의 점수가 같으면 정답에 푸쉬 해준다. 🌤 토스 코딩테스트를 준비하기 위해 오늘부터 자바스크립트로 기본적인 문제를 풀며, 언어를 익히기로 했다! 최근 프론트엔드를 맡아 프로젝트를 진행하며 자바스크립트를 많이 사용해서 크게 어렵지 않았지만, 알고리즘을 푸는것과는 많이 달라서 조금 더 공부해야 할 것 같다. 🟢 const ..

    [python] 프로그래머스 - 키패드 누르기 (2020 카카오 인턴십)

    [python] 프로그래머스 - 키패드 누르기 (2020 카카오 인턴십)

    문제 해결 1. 키패드 모양대로 2차원 배열과 현재 왼손의 위치, 오른손의 위치, 누른 손을 누적할 변수를 생성 2. 1,4,7은 왼손, 3,6,9는 오른손을 사용하여 누르고, 그 위치로 이동한다. 3. 2,5,8,0의 경우 누를 번호에서 현재 양손의 위치까지의 거리를 구해서 거리가 짧은 쪽을, 거리가 같을 경우 어느손잡이인지에 따라 그 손으로 누르고 이동한다. (1) 눌러야할 번호의 위치를 구하고 BFS 탐색을 한다. (2) 현재 손까지의 거리를 구한다. (3) 양손까지의 거리를 비교한다. 😂 난이도는 카카오 코테 Lv1. 다른 분의 풀이를 보면 1차원 배열에서 숫자는 인덱스로, 위치는 튜플 형태로 값으로 넣어서 푼다. ex) 2차원 배열 상에서0번의 위치는 3,1이고 , 1번의 위치는 0,0이다. 그..

    [python] 프로그래머스 - 수식 최대화 / 보석 쇼핑 (2020 카카오 인턴십)

    [python] 프로그래머스 - 수식 최대화 / 보석 쇼핑 (2020 카카오 인턴십)

    1. 수식 최대화 문제 해결 1. 먼저 주어진 수식을 숫자와 연산자로 구분하여 분리 (1) 빈 배열과 숫자를 자리수마다 하나씩 쌓아 놓을 변수를 만들고 (2) 주어진 수식을 for 문을 돌린다. (3) 숫자가 나오면 | ex) 350일 경우 > tmp에 3을 더하고, 5를 더하고 0을 더해서 tmp='350' 을 만든다 (4) 연산자가 나올 경우 만들어 놓은 숫자(tmp)와 연산자를 차례로 배열에 추가 한다. tmp는 다시 초기화 (5) 3,4번을 반복하고 마지막 숫자는 다음에 올 연산자가 없으므로 끝날 때 배열에 추가해준다. 2. 연산자 우선순위 구해서 계산하기 (1) 연산자 3가지를 만들고, 퍼뮤테이션 함수를 이용해 연산자 3가지에 대한 순열을 생성 (2) 만들어 놓은 수식 배열은 여러번 계산(연산자..