문제링크 https://school.programmers.co.kr/learn/courses/30/lessons/17682 접근방법 문제에 적힌 조건들만 잘 지켜주면 딱히 어려울게 없는 문제였다! 입력된 문자열인 dartResult를 숫자(0 ~ 9) / (S, D, T) / (*, #)로 구분해준다. 숫자를 따로 저장해뒀다가 S이면 1제곱, D이면 2제곱, T이면 3제곱을 해준다. (필수) *이면 현재 점수와 이전 점수에 두배를 해주고, #이면 현재 점수에 -1을 곱해준다. (옵션) 정답코드 function solution(dartResult) { var answer = 0; let score = []; // 점수를 저장해 둘 배열 let index = 0; // 점수를 저장해 둔 배열의 인덱스 let..
문제링크 https://school.programmers.co.kr/learn/courses/30/lessons/132265 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근방법 배열을 잘라서 두 배열에 있는 원소 종류가 몇 개인지 구한 다음 같으면 answer + 1 해주면 되겠구나. 어쩐지 단순하다 싶었다.. 오답 function solution(topping) { var answer = 0; for (let i = 1; i < topping.length; i++) { let front = topping.slice(0, i); let back = t..
문제링크 https://school.programmers.co.kr/learn/courses/30/lessons/60057 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근방법 문자열 단위를 1부터~ 문자열 길이의 절반까지만 지정해서 압축하면 되겠다라는 생각이 가장 먼저 떠올랐다. slice 함수를 사용해서 문자열 단위로 잘라서 비교하고 (slice() -> 원본에 영향X, splice() -> 원본에 영향O 또 까먹어서 또 구글링해봄ㅋ) 반복되는 것들을 스택에 저장해야겠다! 결론부터 말하자면 스택은 필요없었따... 반복되는 문자열이 무엇인지보다는 몇 ..
문제링크 https://school.programmers.co.kr/learn/courses/30/lessons/131130# 접근방법 문제가 길어서 문제 읽는 것부터 힘들었다.. 테스트 케이스에는 [8, 6, 3, 7, 2, 5, 1, 4]가 입력으로 들어온다. 먼저 첫번째를 선택했을 때, 두번째를 선택했을 때 ... 다 손으로 써봤다. 첫번째를 선택했다 해보자. 그리고 인덱스가 0이 아닌 1부터 시작한다고 가정한다. 인덱스를 기준으로 1 -> 8 -> 4 -> 7 이렇게 4개의 상자를 거치고, 1, 8, 4, 7 중 어떤 것을 먼저 선택하든 똑같이 4개를 거친다. 그리고 처음 선택한 인덱스의 값이 나올 때까지 반복한다! 정답코드 function solution(cards) { let answer = ..
문제링크 https://school.programmers.co.kr/learn/courses/30/lessons/68645 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근방법 규칙 찾고 싶어서 난리치다가 찾아낸 규칙! 왼쪽 대각선, 아래 직선, 오른쪽 대각선 세 선을 반복해서 돈다는 사실을 발견했다. 이차원 배열로 만들어서 인덱스를 보면 인덱스에도 규칙이 있다. 왼쪽 대각선 -> 행의 값을 1씩 늘리면서 값도 1씩 증가 아래 직선 -> 선을 따라서 값이 1씩 증가 오른쪽 대각선 -> 행과 열의 값을 1씩 감소시키면서 값을 1씩 증가 그리고 규칙이 적용..
문제링크 https://school.programmers.co.kr/learn/courses/30/lessons/12913 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근방법 같은 열만 안밟으면 되는 문제인줄 알고 그렇게 풀었다가 테스트가 다 실패했다.. 당황해서 문제 다시 정독해보니 얻을 수 있는 점수의 최대값을 return 알고보니 DP 문제였다. 문제를 보고 DP 문제인지 파악하는 것부터 어려운데.. ㅠㅅㅠ DP로 푸니까 뚝딱 풀리는 문제였다! 처음코드 == 다 실패한 코드ㅋ function solution(land) { var answer = ..