티스토리 뷰

푼 문제들

 

 

 

간단한 논리 연산

 

문제

 

 

풀이

def solution(x1, x2, x3, x4): 
    return (x1 or x2) and (x3 or x4)

or 연산은 둘 중 하나만 true여도 true를 반환하고,

and 연산은 둘 다 true여야 true를 반환한다.

 

 

 

주사위 게임 3

 

문제

 

 

풀이

def solution(a, b, c, d):
	
    # 주사위 값 오름차순 정렬
    dice = sorted([a, b, c, d])
    
    # 모든 주사위 값이 같은 경우
    if dice[0] == dice[1] == dice[2] == dice[3]:
        return 1111 * dice[0]
    
    # 세 개의 주사위 값이 같고 나머지 하나가 다른 경우
    if dice[0] == dice[1] == dice[2] or dice[1] == dice[2] == dice[3]:
        p = dice[1] # dice[2]도 가능하다
        q = dice[0] if dice[0] != p else dice[3]
        return (10 * p + q) ** 2
    
    # 두 개의 주사위 값이 각각 같은 경우
    if dice[0] == dice[1] and dice[2] == dice[3]:
        p = dice[0]
        q = dice[2]
        return (p + q) * abs(p - q)
    
    # 두 주사위 값이 같고, 나머지 두 주사위 값이 각각 다른 경우
    if dice[0] == dice[1]:
        return dice[2] * dice[3]
    if dice[1] == dice[2]:
        return dice[0] * dice[3]
    if dice[2] == dice[3]:
        return dice[0] * dice[1]
    
    # 모든 주사위 값이 다른 경우 최소값 출력
    else: return dice[0]

주사위 값을 배열에 넣어 오름차순 정렬한 뒤

배열 요소를 이용해서 조건에 따라 다른 점수를 반환한다.

 

 

 

글자 이어 붙여 문자열 만들기

 

문제

 

 

풀이

def solution(my_string, index_list):
    res = ""
    for i in index_list:
        res += my_string[i]
    return res

빈 문자열 res를 선언한 뒤 index_list를 순회하며 주어진 문자열의 i번째 값을 res에 더한다.

 

 

 

9로 나눈 나머지

 

문제

 

 

풀이

def solution(number):
    return int(number) % 9

 

number(문자열)를 int형으로 변환한 뒤 9로 나눈다.

 

 

 

문자열 여러 번 뒤집기

 

문제

 

 

풀이

def solution(my_string, queries):
    
    // 리스트 슬라이싱을 쓰기 위해 입력받은 문자열을 리스트로 변환
    my_list = list(my_string)
    
    // s ~ e 범위의 부분문자열을 뒤집는 작업수행
    for query in queries:
        s, e = query
        my_list[s:e+1] = my_list[s:e+1][::-1] 
    
    return "".join(my_list) // 리스트를 문자열로 변환

문자열을 리스트로 변환하여 슬라이싱을 통해 s~e범위의 문자열을 반복적으로 뒤집는다.

 

list[::-1]  < 파이썬에서 리스트를 뒤집는 슬라이싱 기법이다. 

'프로그래머스 > 파이썬' 카테고리의 다른 글

[파이썬] Day 10 문자열  (0) 2024.06.05
[파이썬] Day 9 문자열  (1) 2024.06.04
[파이썬] Day 7 반복문  (0) 2024.05.28
[파이썬] Day 6 조건문, 반복문  (0) 2024.05.04
[파이썬] Day 5 조건문  (1) 2024.05.02
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함