🔍 문제
A school is trying to take an annual photo of all the students. The students are asked to stand in a single file line in non-decreasing order by height. Let this ordering be represented by the integer array expected where expected[i] is the expected height of the ith student in line.
You are given an integer array heights representing the current order that the students are standing in. Each heights[i] is the height of the ith student in line (0-indexed).
Return the number of indices where heights[i] != expected[i].
Input: heights = [1,1,4,2,1,3]
Output: 3
Explanation:
heights: [1,1,4,2,1,3]
expected: [1,1,1,2,3,4]
Indices 2, 4, and 5 do not match.
🖥 실행
1) Answer
import copy
class Solution:
def heightChecker(self, heights: List[int]):
newHeight = copy.copy(heights)
newHeight.sort()
n = 0
for i in range(len(heights)):
if newHeight[i] != heights[i]:
n += 1
return n
2) Better Solution
class Solution:
def heightChecker(self, heights: List[int]) -> int:
return sum(h1 != h2 for h1, h2 in zip(heights, sorted(heights)))
'Coding test > LeetCode' 카테고리의 다른 글
[LeetCode] Third Maximum Number (0) | 2022.05.20 |
---|---|
[LeetCode] Max Consecutive Ones II (0) | 2022.05.20 |
[LeetCode] Move Zeroes (0) | 2022.05.20 |
[LeetCode] Replace Elements with Greatest Element on Right Side (0) | 2022.05.20 |
[LeetCode] Valid Mountain Array (0) | 2022.05.20 |