반응형

프로그래밍/알고리즘 8

[조합] 배열 내의 숫자 조합 관련 문제

오랜만에 알고리즘 관련 문제를 풀어보려 합니다. 이번엔 조합 관련 문제입니다. 얼마 전에 코딩테스트가 있었고 거기서 영어 지문을 잘못 읽어서 실수를 했습니다. 다음날 문제를 잘못 읽은 걸 깨닫고 멘탈이 터졌던 관계로 다시는 이런 실수를 하지 말자는 의미에서 기억하고 있는 내용을 조금 변경 및 유사한 문제에 대해서 코테 연습 사이트를 참고해서 만들고 풀이를 해보려 합니다. 1. 문제 정수 배열 arr이 Parameter로 전달되는 함수 arrayChecker가 있고, 이 함수는 전달된 배열에서 가장 큰 수를 제외한 값들의 조합의 합에 대한 결과가 가장 큰 수와 동일한 경우 및 가장 큰 수를 제외한 값들을 활용하여 전달된 배열의 최대 및 세번째로 큰 값의 차와 동일한 조합의 합이 가능한지 여부를 true/f..

[Programmers] 코딩테스트 (DFS/BFS) - 타겟 넘버

코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+ programmers.co.kr DFS와 BFS를 연습하기 위한 예제 중 하나입니다. 문제에 따르면 Int 배열이 하나 주어지고, target이 주어집니다. 주어진 배열의 각 값들을 + 또는 - 를 했을 때 target과 동일한 값이 몇 번이나 나오는지 확인하는 것입니다. 여기서 DFS를 이용하기 위해서 노드를 그려보면 다음과 같이 그릴 수 있습니다. 시작은 0이고, 입력된 numbers의 0번 인덱스 부터 -와 +를 계산합니다. 가장 마지..

[Programmers] 2021 KAKAO BLIND RECRUITMENT - 메뉴 리뉴얼

코딩테스트 연습 - 메뉴 리뉴얼 레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 programmers.co.kr A-Z까지의 알파벳이 조합된 메뉴들이 배열로 입력되고, 각 메뉴들에 대해서 가능한 조합들 중 가장 많이 주문된 조합을 선택하는 문제입니다. 예를 들어 ["ABC", "ACD"]가 들어왔다면 "ABC" -> ["A", "AB", "ABC", "AC", "B", "BC", "C"] "ACD" -> ["A", "AC", "ACD", "AD", "C", "CD", "D"] -> [A : 2, AB : 1, ABC : 1, AC : 2, ACD : 1, AD : 1, B ..

[Programmers] 2020 KAKAO BLIND RECRUITMENT - 문자열 압축

코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 어피치는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문자 programmers.co.kr 코딩테스트 준비 중입니다... 제발 과제형으로 내주시면 좋겠네요 진짜..ㅠㅠㅠ 아니면 라이브 코딩이나.. String 갯수만큼 잘라서 배열로 받는 부분입니다. 전에 본 기억이 있어서 참고했습니다. How to split a string into substrings of equal length So split("There are fourty-eight characters in this string", 20) should return ["There are fo..

알고리즘 연습 사이트

현재 사용하고 있는 알고리즘 사이트 종류 정리입니다. 이 사이트들에서 직접 풀거나, 자료를 찾으면서 더욱 효율적인 코드들 위주로 정리를 합니다. 언어는 C/C++, C#, Java, Javascript, Python, Swift위주로 합니다. 1. Codewars Codewars: Achieve mastery through challenge Codewars is where developers achieve code mastery through challenge. Train on kata in the dojo and reach your highest potential. www.codewars.com 개인적으로 여러 알고리즘 사이트 중에서 가장 재미있는 것 같습니다. 회원가입을 할 때 언어를 정하고, 매우 ..

반응형