분류 전체보기

    [프로그래머스] 큰 수 만들기 [python]

    [프로그래머스] 큰 수 만들기 [python]

    https://school.programmers.co.kr/learn/courses/30/lessons/42883 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 stack를 사용해서 풀었다. stack에 있는 값이 현재 값보다 작다면 가장 최근에 들어간 값을 제거했고 다시 그 앞자리수를 비교했다. 코드 def solution(number, k): answer = '' stack = [] popNum = 0 idx = 0 while idx < len(number) and popNum < k: # stack 값이 없다면 현재 값을 stack 넣기 if ..

    [프로그래머스] 게임 맵 최단거리

    [프로그래머스] 게임 맵 최단거리

    문제 간단한 BFS 문제인데, 오랜만에 BFS를 풀어서 버벅거렸다. 그래도 나름 금방 풀었다. 코드 def solution(maps): global mX,mY mX = [0,1,0,-1] mY = [1,0,-1,0] return bfs(maps) def bfs(maps): endX = len(maps) - 1 endY = len(maps[0]) - 1 isVisit = [[ False for j in range(len(maps[0]))] for i in range(len(maps))] queue = [Point(0,0,1)] isVisit[0][0] = True while len(queue) != 0: p = queue.pop(0) if p.x == endX and p.y == endY: return p..

    [프로그래머스] 숫자의 표현 [python]

    [프로그래머스] 숫자의 표현 [python]

    문제 투포인터로 가볍게 풀 수 있는 문제다. 시간복잡도는 O(N)이다 코드 def solution(n): answer = 0 start = 1 end = 1 s = 1 while end

    [프로그래머스] 신규 아이디 추천 [python]

    [프로그래머스] 신규 아이디 추천 [python]

    문제 단계 별로 구현하면 되는 간단한 구현 문제이다. 코드 def solution(new_id): answer = '' # 1단계 new_id = new_id.lower() # 2단계 canIncludeWord = ['-', '_', '.'] newId = "" for i in range(len(new_id)): # 문자인지 if new_id[i].isalpha() or new_id[i].isnumeric() or new_id[i] in canIncludeWord: newId += new_id[i] # 3단계 while ".." in newId: newId = newId.replace("..", ".") # 4단계 newId4 = newId if len(newId4) != 0 and newId4[-1] ..

    [프로그래머스] 성격 유형 검사하기 [python]

    [프로그래머스] 성격 유형 검사하기 [python]

    문제 구현 문제였고, 다른 사람 풀이 보니 매우 쉽게 풀었다,, 객체를 사용하다보니 좀 더 오래 걸린 거 같지만 로직 자체는 간단하다. 시간 복잡도는 survery의 크기만큼 한번 for문을 돌아 O(N)이다 코드 def solution(survey, choices): answer = '' personalities = {} personalities["RT"] = Personality("R", "T") personalities["CF"] = Personality("C", "F") personalities["JM"] = Personality("J", "M") personalities["AN"] = Personality("A", "N") for idx in range(len(survey)): personali..