Posts
학습 일기장
Cancel

문제 소수 찾기 접근 완전 탐색 문제이다. 모든 조합을 확인해봐야 하는 것은 확실하다. 그렇다면 확인하는데 걸리는 시간을 줄이는 방향으로 접근해야 할 것 같다. 해당 조합으로 나올 수 있는 최대치까지 소수를 미리 찾아놓고, 해당 숫자의 index로 접근하는 식으로 구현한다면 소수인지 판별하는데 걸리는 시간은 O(1)으로 해결할 수 있다....

문제 삼각 달팽이 접근 삼각형 모양을 왼쪽으로 붙여서 배열로 생각해보자. 칸을 채워나가는 방향은 세 가지 밖에 없다. 아래로 움직이는 경우 오른쪽으로 움직이는 경우 왼쪽 위방향 대각선으로 움직이는 경우 세 가지 경우에 대해 각각 구현하면 된다. 주의할 부분은 방향을 전환하는 경우가 다음 방향이 범위를 벗어나거나, 이미 칠해...

문제 [3차] n진수 게임 접근 10진수가 넘어가는 경우 진수 변환 과정에서 나머지가 10이 넘어갈 수 있다. 이 경우에 아스키코드를 이용하여 변환 과정을 따로 처리해줘야 한다. 코드 파이썬 코드 def solution(n, t, m, p): answer = '' cnt = 0 num = 0 t...

문제 최댓값과 최솟값 접근 문자열 처리만 잘해주면 된다. 코드 파이썬 코드 def solution(s): s_list = list(s.split(" ")) l = [] for item in s_list: if item[0] == '-': tmp = -1 * int(i...

문제 N개의 최소공배수 접근 두 수의 최대 공배수를 구하는 방법은 간단하다. 최대 공배수 = 두 수의 곱 / 최소 공약수 최소 공약수는 유클리드 호제법을 이용하면 된다. 그렇다면 여러 개의 숫자의 최대 공배수는 어떻게 구할까? 복잡하게 생각할 것 없이, 최대 공배수를 n-1번 구해주면 된다. 코드 파이썬 코드 def...

문제 멀쩡한 사각형 접근 규칙을 찾는데 생각보다 오랜 시간이 걸렸다. 우선 w, h의 최대공약수만큼 패턴이 반복된다는 것은 쉽게 찾을 수 있었다. 예제에서의 경우 8, 12의 최대공약수인 4회 패턴이 반복된다. 결국 전체 수식은 다음과 같을 것이다. 전체 사각형의 수 - (패턴에서 잘리는 사각형 * 최대공약수) 문제는 패턴안에서 잘리...

문제 전화번호 목록 접근 전화번호를 정렬한 후 시작하면 생각보다 간단한 문제가 된다. 현재 번호가 바로 다음 번호의 접두사인지만 확인하면 되는 문제이다. 바로 다음 번호가 접두사가 아니라면, 나머지 번호들도 접두사가 아니다. 뒷 번호가 앞번호의 접두사가 되는 경우가 존재하지 않는다. 문자의 길이를 체크할 필요가 없다. ...

문제 영어 끝말잇기 접근 이전 단어의 마지막과 현재 단어의 시작이 같은지 여부와 현재 단어가 이전에 나온적이 있는지만 체크해주면 된다. 코드 파이썬 코드 def solution(n, words): answer = [] word_set = set() loc = 0 turn = 1 now_wo...

프로젝트 소개 첫 번째 프로젝트는 데이터 분석 결과를 시각화하는 웹페이지를 개발하는 것이다. 나는 그동안 배운 Python django를 이용하여 웹 어플리케이션을 개발할 것이다. 주제 선정 Kaggle에 있는 다양한 데이터들 중에 선정을 했다. 둘러보던 중 OTT 서비스에 대한 데이터가 있길래 흥미로워서 이거로 선택했다. OTT 서비스 제공...

문제 행렬의 곱셈 접근 행렬 곱은 (a x b) x (b x c) 크기의 행렬을 곱했을 때 (a x c) 행렬이 나오며 내부적인 연산은 각 요소마다 b번의 곱을 해야 한다. 3중 for문으로 해결했다. 첫 번째 포문은 a를 의미한다. 두 번째 포문은 c를 의미한다. 세 번째 포문은 b를 의미한다. 코드 파이썬 코드 de...