코딩테스트

하루 코테 3개 풀기 - 9일차

songsua 2024. 12. 18. 16:38

1. 문자열 섞기

https://school.programmers.co.kr/learn/courses/30/lessons/181942

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

나의 풀이

def solution(str1, str2):
    answer = []
    a = list(str1)
    b = list(str2)
    
    for i in range(len(str1)) :
        answer.append(a[i])
        answer.append(b[i])
    
    return ''.join(answer)
  1. 문자열 ㄴㄹㄹㅊ
다른 사람 답안
한줄로 작성하는 거.. 대단
def solution(str1, str2):
    answer = ''.join([str1[i] + str2[i] for i in range(len(str1))])
    return answer
  1. 문자열 ㅇ

2. 문자리스트 출력하기

def solution(arr):
    answer = ''.join([arr[i] for i in range(len(arr))])
    return answer

바로 활용

 

3. 더 크게 합치기

https://school.programmers.co.kr/learn/courses/30/lessons/181939

  1. ㄴ더 크
  2. 나의 풀이
def solution(a, b):
    answer = 0
    c = str(a) + str(b)
    d = str(b) + str(a)
    if c > d :
        answer  = int(c)
    else :
        answer = int(d)
    return answer

 

포멧을 이용해서 한줄로 표현하기 ...외우자 ㅠ

def solution(a, b):
    return int(max(f"{a}{b}", f"{b}{a}"))

 

 

4. 가장 가까운 같은 글자

https://school.programmers.co.kr/learn/courses/30/lessons/142086

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

유튜브 보고 한 풀이법

def solution(s):
    answer = []
    letteridx = {}
 for idx, letter enumerate(s) :
 	if letter in letteridx :
    	answer.append(idx - letteridx[letter])
    else :
    	answer.apped(-1)
    	letteridx[letter] = idx 
 return answer