CouplesHoldingHands
Published at 2022-03-29
class Solution:
def minSwapsCouples(self, row: List[int]) -> int:
# 내 짝의 조건: 1. 짝<홀, 2. 두개 1만 차이나야함
def getPair(num):
if num % 2 == 0:
return num + 1
else:
return num - 1
swap = 0
for i in range(0, len(row), 2):
pair = getPair(row[i])
if pair != row[i+1]: # 짝이 맞지 않다? 맞는애 찾아서 바꾸기
for j in range(i+2, len(row)):
if row[j] == pair:
row[j] = row[i+1] # i는 굳이 바꿀 필요 없으니 뒤에애만 바꿔주겠음
swap += 1
break
return swap