[1스4코2파] 1명의 스위프트 개발자와 4명의 코틀린 개발자, 2명의 파이썬 개발자코딩 테스트 서막 : 1스4코1파

START :

[3코1파] 2023.01.04~ (256일차)
[4코1파] 2023.01.13~ (248일차)
[1스4코1파] 2023.04.12~ (160일차)
[1스4코2파] 2023.05.03 ~ (138일차)

Today :

2023.09.16 [256일차]
1899. Merge Triplets to Form Target Triplet
https://leetcode.com/problems/merge-triplets-to-form-target-triplet/

1899. Merge Triplets to Form Target Triplet

https://leetcode.com/problems/merge-triplets-to-form-target-triplet/

문제 설명



세 개의 정수로 구성된 배열 triplet이 주어졌을 때, 2차원의 정수 배열로 triplet이 주어지는데, 여기서 triplet[i] 는 [ai, bi, ci] 를 나타낸다.
후에 얻으려는 triplet의 배열 target이 주어 질 때,
target을 얻기위해 각 원소들끼리의 max값 연산을 진행할 수 있는데,
즉, 세 쌍[j]을 업데이트하여 [max(ai, aj), max(bi, bj), max(ci, cj)]의 연산이 가능하다.
예를 들어, 삼중항[i] = [2, 5, 3]이고 삼중항[j] = [1, 7, 5]인 경우 삼중항[j]은 [max(2, 1), max(5, 7), 최대(3, 5)] = [2, 7, 5] 로 만들 수 있다.
target의 [x, y, z]를 삼중항의 요소로 얻는 것이 가능하면 true를 반환하고, 그렇지 않으면 false를 반환한다.

문제 풀이 방법

삼중항 배열을 돌면서, 해당 인덱스의 값이 타겟의 인덱스보다 커버리면 pass
작으면 루프문을 돌면서 타겟의

내 코드

class Solution:
    def mergeTriplets(self, triplets: List[List[int]], target: List[int]) -> bool:
        good = set()

        for t in triplets:
            if t[0] > target[0] or t[1] > target[1] or t[2] > target[2]:
                continue
            
            for i, v in enumerate(t):
                if v == target[i]:
                    good.add(i)
        
        return len(good) == 3

증빙

여담

leetcode 폰 사파리에서는 외않되냐

profile
꿈꾸는 것도 개발처럼 깊게

0개의 댓글