알고리즘(137)
-
❌파일명 정렬(왜 틀린지 이유를 모르겠음)
2018 KAKAO BLIND RECRUITMENThttps://school.programmers.co.kr/learn/courses/30/lessons/17686 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr이 문제는 HEAD와 NUMBER를 함수로 나눠서 구하는 코드와 Solution 내부에서 구하는 코드 두 개로 작성했다.그런데 전자의 경우에는 테스트에 통과하지 못하고, 후자의 경우는 테스트에 통과한다.대체 왜 그런건지 이유를 모르겠다. 통과❌function getTail(str, head, number){ return str.replace(head..
2024.06.04 -
n진수 게임
2018 KAKAO BLIND RECRUITMENThttps://school.programmers.co.kr/learn/courses/30/lessons/17687 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr우선 전체 숫자의 범위를 구한다. 이 범위는 게임에 참여하는 전체 학생 수 * 튜브가 말해야하는 숫자의 갯수만큼의 범위를 최소한으로 가질 것이다. 만약 튜브가 3개의 숫자를 말해야되고 전체 학생 수가 5명이라면 게임은 최소 0부터 15가 될 때까지는 진행해야한다. 그리고 전체 숫자 범위의 10진수를 N진법으로 변환한다. 이때, 변환한 N진수의 문자열 길..
2024.06.04 -
튜플
2019 카카오 개발자 겨울 인턴십 https://school.programmers.co.kr/learn/courses/30/lessons/64065 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr실행 결과 : 실패 문제를 제대로 분석하지 않으면 돌고 돌아 정말 힘들게 해결하거나 실패하는 문제인 거 같다. 순열을 이용해서 해결하려고 했다. 튜플이 될 수 있는 숫자를 저장해서 순열로 경우의 수를 구한다. 왜냐하면 튜플은 순서를 고려하기 때문이다. 그런데 이렇게 접근하니까 코드가 복잡해지고, 오류가 생겨도 어디서 발생했는지 찾기 힘들었다. 처음 설계한 과정은 다음..
2024.06.01 -
키패드 누르기
2020 카카오 인턴십https://school.programmers.co.kr/learn/courses/30/lessons/67256 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr실행 결과 : 실패두 점 사이의 거리를 유클리드 거리로 해결하려고 해서 오답이 나왔다. 맨허튼 거리로 구해야한다.왜냐하면 문제 조건에 상하좌우로만 움직인다고 했기 때문이다. 유클리드 거리는 대각선에 위치한 좌표도 직선의 거리로 생각하기 때문에 올바른 답이 나오지 않는다.유클리드 거리 : Math.sqrt(((y2 - y1) ** 2 + (x2 - x1) ** 2))맨허튼 거리 : ..
2024.06.01 -
수식 최대화
2020 카카오 인턴십https://school.programmers.co.kr/learn/courses/30/lessons/67257 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr실행 결과 : 실패문제를 이해하는 것은 어렵지 않다.그런데 구현에서 자꾸 정답이 나오지 않았다... 답답했다. 설계는 어렵지 않으니 생략하고 왜 정답이 나오지 않았는가 정리해보겠다.정답 코드는 다음과 같다.function format(expression) { const ret = []; let tmp = ''; [...expression].forEach((char)..
2024.06.01 -
테트로미노
문제폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다.정사각형은 서로 겹치면 안 된다.도형은 모두 연결되어 있어야 한다.정사각형의 변끼리 연결되어 있어야 한다. 즉, 꼭짓점과 꼭짓점만 맞닿아 있으면 안 된다.정사각형 4개를 이어 붙인 폴리오미노는 테트로미노라고 하며, 다음과 같은 5가지가 있다.아름이는 크기가 N×M인 종이 위에 테트로미노 하나를 놓으려고 한다. 종이는 1×1 크기의 칸으로 나누어져 있으며, 각각의 칸에는 정수가 하나 쓰여 있다.테트로미노 하나를 적절히 놓아서 테트로미노가 놓인 칸에 쓰여 있는 수들의 합을 최대로 하는 프로그램을 작성하시오.테트로미노는 반드시 한 정사각형이 정확히 하나의 칸을 포함하도록 놓아야 하며, 회전이나 대칭을 ..
2024.05.31