먼저 이 문제를 보자마자 풀었을 때는 유클리드 호제법과 같은 방식이 떠오르지 않아서 무식한 방법으로 풀었다.최소 공배수이기 때문에 주어진 배열 중 가장 큰 값이 일단 최소공배수중 최소인 경우가 될 것이기 때문에 그냥 배열의 마지막 인덱스를 시작으로 숫자를 1씩 늘려가며
JadenCase 문자열 만들기 주어진 문자열을 각 단어의 첫 문자를 대문자로 나머지는 소문자로 만든 후 반환해주는 문제이다. 코드 입력된 문자열(s)를 공백을 기준으로 나눠준 후 각 단어를 글자 별로 또 나눴다. 맨 처음에는 단어 별로 lower()와 uppe
중고등학교 시절 배웠던 행렬의 곱셈을 구현하는 문제이다. 코드를 먼저 보면 행렬 곱셈을 하는 방법은 아는데 이걸 반복문으로 나타내는데 이게 생각보다 잘 떠오르지 않아서 코드를 이리저리 고치다가 해결했다. 먼저 행렬 A,B를 AB한다면 A는 행을 기준으로 B는 열을
n번째 피보나치 수를 1234567로 나눈 나머지 값을 반환하라는 문제인데 나는 보자마자 재귀식이 생각나서 함수를 만들어서 호출했다. 근데 이게 n값이 작으면 정답인데 테스트케이스를 돌려보니 n값이 커지면 시간초과와 recursion오류가 나서 반복문으로 변경해서
주어진 길이가 같은 배열 A,B에서 원소 1개씩을 뽑아 곱한 값들의 합을 최소로 만드는 문제이다. 최소가 되는 경우는 배열 A에서는 가장 작은 값과 배열 B에서는 가장 큰 값을 뽑아 곱한 경우 그 값이 최소가 된다.
공백으로 구분된 숫자들이 저장되어 있는 문자열에서 최솟값과 최대값을 반환해주면 되는 문제이다. 상당히 간단한 문제였다. 주어진 문자열 변수 a를 int형식으로 map을 이용해 배열에 저장해준 후 오름차순으로 정렬 하고 0번째와 맨 마지막 인덱스를 반환해주었다.
주어진 n을 연속된 숫자들의 합으로 표현 가능한 갯수를 구하는 문제이다 예를 들어 n = 15라면 1 + 2 + 3 + 4 + 5 = 15 4 + 5 + 6 = 15 7 + 8 = 15 15 = 15 와 같이 15를 만들 수 있는 경우가 4가지 이면 4를 반환해주면 된
이 문제는 열의 크기는 4로 고정된 주어진 2차원 배열에서 각 행에 최대값인 땅을 밟는데 이전에 밟았던 열은 연속적으로 밟을 수 없다는 제약조건이 있을 때 밟은 땅들의 값을 모두 더했을 때 그 값이 최대가 되도록 했을 때 그 값을 출력하도록 하는 문제이다. DP(다이
다음 조건을 만족하는 숫자를 출력하면 되는 문제이다. n의 다음 큰 숫자는 n보다 큰 자연수 입니다. n의 다음 큰 숫자와 n은 2진수로 변환했을 때 1의 갯수가 같습니다. n의 다음 큰 숫자는 조건 1, 2를 만족하는 수 중 가장 작은 수 입니다. 코드 다른 언어였
문제 이 문제는 2018년 카카오 블라인드 채용 코딩테스트에 출제되었던 문제이다. 이 문제는 369 게임과 비슷하게 숫자가 한문장 "12345678910"이런식으로 존재하면 이것을 n진수"011011100..." 로 변환해서 자신의 차례에는 어떤 숫자를 말해야 하는
괄호의 짝과 순서가 맞냐는 문제인데 이 문제는 학교 자료구조 수업에서 한번 다뤘었기 때문에 보자마자 바로 풀었다. 역시 학교 수업을 열심히 들어야 한다. 코드 반복문으로 먼저 "("를 만나면 스택(파이썬에는 스택이 따로 존재 하지 않지만 편의상 스택이라고 부르겠다.
문제 2018 카카오 블라인드 코딩테스트에 출제됐던 문제이다. 문제의 조건은 주어진 문자열 배열 files를 head, number, tail 세부분으로 나눈 후 다음의 조건으로 정렬해서 반환하는 것이다. 조건 파일명은 우선 HEAD 부분을 기준으로 사전 순으로 정렬한
2018카카오 블라인드 채용 코딩테스트에 출제되었던 문제이다. 길이가 1인 모든 단어를 포함하도록 사전을 초기화한다. 사전에서 현재 입력과 일치하는 가장 긴 문자열 w를 찾는다. w에 해당하는 사전의 색인 번호를 출력하고, 입력에서 w를 제거한다. 입력에서 처리되지
1과 0으로 이루어진 2차원 배열이 주어지는데 연속된 1로 만들 수 있는 가장 큰 정사각형의 넓이를 반환하는 문제이다. DP 방식으로 풀면 되는 문제인데 DP는 역시 어렵다.. 풀이 방식 맨 왼쪽 상단이 (0,0)이라는 가정하에 반복문이 (1,1)부터 시작된다. 각
찾아야 하는 멜로디가 주어지고 재생이 시작된 시간, 끝난 시간, 곡 명, 악보가 들어있는 2차원 배열이 있는데 여기서 조건에 부합하는 곡명이 무엇인가를 반환 하거나 없으면 "(none)"을 반환하는 문제이다. 방금그곡 서비스에서는 음악 제목, 재생이 시작되고 끝난 시
문제 (0,0)의 좌표평면에서 시작하는 캐릭터의 움직임이 주어진다. ex)"UDU" -> 위, 아래, 위 이때 캐릭터가 처음 가본 길의 길이만을 출력하는 문제이다. 코드 설명 각 이동마다 이동하기 전의 좌표(x,y)와 이동 후의 좌표(afterX, afterY)를
문제 주어진 숫자 number에서 k개의 숫자를 빼서 만들 수 있는 숫자 중에 가장 큰 수를 반환하는 문제다. 탐욕법 방식으로 스택을 활용해 풀면된다. 코드 처음에 먼저 스택에 number의 첫번째 숫자를 넣는다 그리고 number의 그 다음 숫자가 스택에 가장 마
문제 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같이 특별한 방법으로 섞어 새로운 음식을 만듭니다. > 섞은 음식의
문제 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙입니다. 이 과정을 반복해서 문자열을 모두 제거한다면 짝지어 제거하기가 종
문제 가로 길이가 Wcm, 세로 길이가 Hcm인 직사각형 종이가 있습니다. 종이에는 가로, 세로 방향과 평행하게 격자 형태로 선이 그어져 있으며, 모든 격자칸은 1cm x 1cm 크기입니다. 이 종이를 격자 선을 따라 1cm × 1cm의 정사각형으로 잘라 사용할 예
문제 124 나라가 있습니다. 124 나라에서는 10진법이 아닌 다음과 같은 자신들만의 규칙으로 수를 표현합니다. 124 나라에는 자연수만 존재합니다. 124 나라에는 모든 수를 표현할 때 1, 2, 4만 사용합니다. 예를 들어서 124 나라에서 사용하는 숫자는