본문 바로가기

코딩테스트18

[프로그래머스] lv2. 가장 큰 수 https://programmers.co.kr/learn/courses/30/lessons/42746?language=python3 코딩테스트 연습 - 가장 큰 수 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 programmers.co.kr 풀이 numbers 원소는 int형이어서 str 로 바꾸고 앞글자부터 큰 값이 맨 앞으로 가게 정렬한다 그리고 순서대로 answer에 이어붙이고 0000같은 케이스때문에 int로변환했다가 다시 str로 바꿔서 return 한다. * answer=''.join(numbe.. 2022. 5. 9.
[Python] Trie - 2018 카카오 : 자동완성 https://programmers.co.kr/learn/courses/30/lessons/17685 코딩테스트 연습 - [3차] 자동완성 자동완성 포털 다음에서 검색어 자동완성 기능을 넣고 싶은 라이언은 한 번 입력된 문자열을 학습해서 다음 입력 때 활용하고 싶어 졌다. 예를 들어, go 가 한 번 입력되었다면, 다음 사용자는 g � programmers.co.kr 풀이 2020 카카오 가사 검색을 응용해서 풀었다. remains 대신 branch를 만들어서 그 노드를 포함하는?사용하는? 단어 수를 저장했다. 1번 테스트케이스(go, gone, guild)의 경우 아래 그림처럼 트리가 만들어진다. Trie에 단어를 삽입한다. 삽입할때 branch의 숫자를 1씩 올려준다. 그리고 다시 단어들을 탐색하는데.. 2020. 9. 9.
[C++, Python] Trie - 2020 카카오 : 가사 검색 https://programmers.co.kr/learn/courses/30/lessons/60060 코딩테스트 연습 - 가사 검색 programmers.co.kr 1. Python 풀이 1. 우선 단순하게 글자 queries 와 words 글자 비교를 해서 풀었다 글자수가 다르면 continue, ?여도 continue def solution(words, queries): answer = [] for query in queries: cnt = 0 for word in words: if len(query) != len(word): continue else : flag = True for i in range(len(query)): if query[i] == '?': continue elif query[i].. 2020. 9. 9.
[Python] 비트마스킹 - 1094 막대기 https://www.acmicpc.net/problem/1094 1094번: 막대기 지민이는 길이가 64cm인 막대를 가지고 있다. 어느 날, 그는 길이가 Xcm인 막대가 가지고 싶어졌다. 지민이는 원래 가지고 있던 막대를 더 작은 막대로 자른다음에, 풀로 붙여서 길이가 Xcm인 막대�� www.acmicpc.net 풀이 결론부터 말하자면 입력값을 2진수로 변환했을때 1의 갯수를 찾는 문제이다. 합이 X가될때까지 계속 2로 나누고 하나를 버려야하니 2진수로 표현하는 것과 같다. 물론 구현 방식으로도 풀 수 있다. 코드 1. 입력값을 binary로 바꿔서 1의 갯수 세기 X = int(input()) answer = 0 X = bin(X) for x in X: if x == '1': answer += 1.. 2020. 8. 28.
[Python] 카카오 2019 - 블록 게임 https://programmers.co.kr/learn/courses/30/lessons/42894 코딩테스트 연습 - 블록 게임 [[0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,4,0,0,0],[0,0,0,0,0,4,4,0,0,0],[0,0,0,0,3,0,4,0,0,0],[0,0,0,2,3,0,0,0,5,5],[1,2,2,2,3,3,0,0,0,5],[1,1,1,0,0,0,0,0,0,5]] 2 programmers.co.kr 풀이 유튜브 ezsw 에서 c++로 풀이 해주신 거(링크)를 python으로 짠 코드이다. 각 모양의 블럭을 어떻게 찾아야하나 DFS라도 해야하나 .. 2020. 8. 19.