본문 바로가기

알고리즘

코딩 테스트 연습 22일,23일,26일

728x90

코딩 테스트 연습 22일,23일,26일


프로그래머스, 문자열 내 마음대로 정렬하기

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

📄 나의 코드

def solution(strings, n):
    strings.sort()
    answer =  sorted(strings, key=lambda x:x[n])
    return answer

 

n번째 인덱스로 정렬하기.

검색을 통해 정렬 기준 정하는 방법을 찾아봤다.

문제 요구사항 중, 정렬 기준이 같을 경우, 사전순으로 정렬해야 한다고해서.

먼저 사전순으로 정렬후, 인덱스 기준으로 정렬하는 걸 해줬다!


프로그래머스, [1차] 비밀지도

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

📄 나의 코드

n = 6
arr1 = 	[46, 33, 33 ,22, 31, 50]
arr2 = [27 ,56, 19, 14, 14, 10]

def solution(n, arr1, arr2):
    binary_arr1 = list(map(lambda x: format(x, '0' + str(n) + 'b'), arr1))
    binary_arr2 = list(map(lambda x: format(x, '0' + str(n) + 'b'), arr2))

    result = []
    for i in range(n):
        result.append(str(int(binary_arr1[i]) + int(binary_arr2[i])).zfill(n))
    answer = []
    for j in result:
        answer.append(j.replace("0", " ").replace("1", "#").replace("2", "#"))
    return answer

print(solution(n, arr1, arr2))

 

 format(10진수, '03b') 로하면, 3자리수 2진수로 출력된다. 4 = 010(2)

str(25).zfill(3) = '025' 이렇게 출력된다.

 

 

📄 공부할 만한 코드

def solution(n, arr1, arr2):
    answer = []
    for i in range(n):
        a = str(bin(arr1[i]|arr2[i])[2:]).rjust(n,'0').replace('1','#').replace('0',' ')
        answer.append(a)
    return answer

프로그래머스, 핸드폰 번호 가리기

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

📄 나의 코드

def solution(phone_number):
    answer = "*" * (len(phone_number) - 4) + phone_number[-4:]
    return answer

 

 

 

'알고리즘' 카테고리의 다른 글

자료구조 3주차 숙제  (0) 2022.12.27
코딩 테스트 연습 27일  (0) 2022.12.27
코딩 테스트 연습 21일  (0) 2022.12.21
코딩 테스트 연습 20일  (0) 2022.12.20
코딩 테스트 연습 19일  (0) 2022.12.19