본문 바로가기

개발/알고리즘35

[codility] BinaryGap app.codility.com/programmers/lessons/1-iterations/binary_gap/ BinaryGap coding task - Learn to Code - Codility Find longest sequence of zeros in binary representation of an integer. app.codility.com def solution(N): # write your code in Python 3.6 start = 0 end = 0 max_count = 0 n_str = str(bin(N))[2:] for idx, v in enumerate(n_str): if v == "1": max_count = max(max_count, end-start) start=idx e.. 2021. 2. 16.
[프로그래머스] 이진 변환 반복하기 programmers.co.kr/learn/courses/30/lessons/70129 코딩테스트 연습 - 이진 변환 반복하기 programmers.co.kr 친절하게 이진 변환 방식을 다 알려줘서 그걸 코드로 바꾸면 된다 1) 문자열에 0의 개수를 세고 0을 제거하고 새로운 문자열을 만든다 2) tmp = 새로운 문자열의 길이 로 지정해서 tmp를 다시 이진수로 만든다 요걸 반복해서 1만 남을 때까지 돌린다 위 방식을 코드로 나타내면 다음과 같다 def solution(s): answer = [] cnt = 0 zero_ = 0 while s != "1": str_ = '' for i in s: if i == '0': zero_ +=1 else: str_ += i tmp = int(len(str_)) .. 2021. 2. 15.
[프로그래머스] 행렬의 곱셈 programmers.co.kr/learn/courses/30/lessons/12949 코딩테스트 연습 - 행렬의 곱셈 [[2, 3, 2], [4, 2, 4], [3, 1, 4]] [[5, 4, 3], [2, 4, 1], [3, 1, 1]] [[22, 22, 11], [36, 28, 18], [29, 20, 14]] programmers.co.kr 2차원 행렬 arr1과 arr2를 곱한 행렬을 만드는 문제다 arr1 = 3 * 2 행렬 arr2 = 2 * 2 행렬 return = 3 * 2 행렬 [[1, 4], [3, 2], [4, 1]] [[3, 3], [3, 3]] [[15, 15], [15, 15], [15, 15]] arr1의 row(행)와 arr2의 column(열)이 새 행렬의 row*col .. 2021. 2. 15.
[프로그래머스] 카펫 programmers.co.kr/learn/courses/30/lessons/42842 코딩테스트 연습 - 카펫 Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 programmers.co.kr brown 개수와 yellow 개수만 알면 전체 사각형의 가로 길이와 세로 길이를 알 수 있다 brown 개수 yellow 개수 return 값 10 2 [4, 3] 8 1 [3, 3] 24 24 [8, 6] 왜냐면 1) brown 개수 + yellow 개수 = 전체 개수 = 가로 길이 * 세로 길이 를 알 수 있다 2) 테두리만 brown으로 되어있다는 말은 사각형의 둘.. 2021. 2. 15.
[프로그래머스] 124 나라의 숫자 programmers.co.kr/learn/courses/30/lessons/12899 코딩테스트 연습 - 124 나라의 숫자 programmers.co.kr 124나라에서 숫자는 다음과 같이 표현된다 10진법 124나라 1 1 2 2 3 4 4 11 5 12 6 14 7 21 8 22 9 24 10 41 11 42 12 44 13 111 첫 시도 - 실패 뭔가 3진법 처럼 0,1,2가 4,1,2 처럼 표현 되는 것 같았는데 0이 나왔을 때 어떻게 처리해야할지 감이 오지 않았다. 다른 분들 풀이를 보니 0을 4로 바꾸고 몫을 1 빼주는 방식을 하셨는데 그게 바로 떠오르지 않았다 0을 4로 하면 될거 같았는데 몫을 빼주는건 생각도 못했다 풀이 참고 itholic.github.io/kata-124-world.. 2021. 2. 15.
알고리즘 관련 사이트 & 책 - 종만북 : book.algospot.com/ 알고리즘 문제 해결 전략 프로그래밍 대회에서 배우는 알고리즘 문제 해결 전략, 구종만 지음, 인사이트, ISBN 978-89-6626-054-6 새 소식 책 소개 은 새로운 알고리즘 책입니다. 종이에 적힌 의사코드 book.algospot.com - Codeforces virtual contest : codeforces.com/contests Contests - Codeforces codeforces.com - GeeksforGeeks - Competitive Programming(알고리즘 트레이닝 - 자료 구조, 알고리즘 문제 해결 핵심 노하우) : 요걸 다음 책으로 봐야겠당 github.com/stevenhalim/cpbook-code github.co.. 2021. 2. 1.