[코딩테스트][Softeer] 🔥 HSAT 7회 "자동차 테스" 문제: Python으로 완벽 해결하기! 🔥

김상욱·2024년 9월 4일
0
post-thumbnail
import sys
from bisect import bisect_left,bisect_right
input=sys.stdin.readline

n,q=map(int,input().split())

cars=list(map(int,input().split()))
cars.sort()
carSet=set(cars)

for _ in range(q):
    m=int(input())
    if m not in carSet:
        print(0)
    elif m<=cars[0]:
        print(0)
    elif m>=cars[-1]:
        print(0)
    else:
        index=bisect_left(cars,m)
        # print(index)
        print(index*((n-1)-index))
        

자동차 테스트: 중간 지점의 수를 찾아라! 🚗🔍

자동차를 테스트하기 위해 각 수가 중간 지점이 될 수 있는 경우가 몇개 있는지를 고르는 문제이다. 즉 수가 양끝에 있거나 존재하지 않은 수가 아닌 이상 가운데 있는 경우, 즉 현재의 수보다 큰 수들의 갯수와 작은 수들의 갯수의 곱을 찾은 문제이다. 나같은 경우는 정렬 후 조건문으로 조건들을 걸러내고 bisect를 통해 위치를 빠르게 찾아냈다.

이렇게 Python으로 Softeer의 "자동차 테스트" 문제를 해결해보았습니다. 코드와 개념 설명을 참고하여 문제를 해결하는 데 도움이 되셨길 바랍니다! 😊

0개의 댓글