[백준] 1253번 좋다 - python 파이썬

2025. 4. 17. 02:46·코딩테스트/백준

문제

 

 

 

 

처음 이 문제를 접했을때는 배열에서 나올 수 있는 두 수의 합에만 집중을 한 나머지 combination을 활용해서 풀어주려고 했다.

그리고 이 풀이는 오답이였다.

 

왜냐하면 문제를 잘 읽어보면 다른 수 두개의 합으로 나타내는 것이 좋은 수 이다.

즉, 본인을 제외한(현재 인덱스를 제외한) 다른 두 수의 합으로 표현될 수 있는지를 찾아주어야 한다는 것이다.

 

때문에 조합을 이용해서 구해주게 되면 현재 인덱스가 사용된 합인지 아닌지를 알 수가 없기때문에 오답이 발생했던 것이다.

 

그래서 이를 해결하기 위해서는 투포인터를 사용해서 문제를 풀어주면된다.

 

 

n번씩 반복해서 현재 인덱스가 배열내에 다른 두 수의 합으로 표현되는지 확인해주면 된다.

 

풀이

import itertools
n = int(input())
a = list(map(int, input().split()))
a.sort()
ans = 0

for i in range(n):
    goal = a[i]
    start = 0
    end = n-1

    while (start < end):
        now = a[start] + a[end]
        if now == goal:
            #현재 인덱스 예외처리
            if start == i:
                start += 1
            elif end == i:
                end -= 1
            else:
                ans+= 1
                break
        elif now > goal:
            end -= 1
        elif now < goal:
            start += 1
print(ans)

'코딩테스트 > 백준' 카테고리의 다른 글

[백준]2252번 줄세우기 - python (위상정렬)  (0) 2025.05.19
[백준]11657 타임머신 - Python 파이썬  (0) 2025.04.18
[백준] 1744번 수 묶기 - python 파이썬  (0) 2025.03.20
[백준] 7663번 이중 우선순위 큐 - python 파이썬  (0) 2025.03.18
[백준] 10942 팰린드롬? - python 파이썬  (0) 2025.03.06
'코딩테스트/백준' 카테고리의 다른 글
  • [백준]2252번 줄세우기 - python (위상정렬)
  • [백준]11657 타임머신 - Python 파이썬
  • [백준] 1744번 수 묶기 - python 파이썬
  • [백준] 7663번 이중 우선순위 큐 - python 파이썬
hiwon
hiwon
천천히 굴러가는 코딩일기
  • hiwon
    하이원의 코딩 일기
    hiwon
  • 전체
    오늘
    어제
    • 분류 전체보기 (83)
      • 프론트엔드 (0)
        • react (0)
      • 백엔드 (13)
        • node.js (1)
        • spring (6)
      • 코딩테스트 (57)
        • 백준 (41)
        • 프로그래머스 (15)
      • 프로디지털아카데미 (9)
        • 클라우드 (1)
        • JavaScript (1)
      • github (1)
      • AWS (2)
      • Infra (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    bastion host
    백트래킹
    python
    알파코캠퍼스
    알고리즘
    코딩테스트
    spring
    UnionFind
    프로그래머스
    다익스트라
    Java
    EC2
    깃허브
    MSA
    신한투자증권
    AWS
    파이썬
    kdt교육
    BFS
    K디지털트레이닝
    IT기획
    그리디
    알파코
    투포인터
    백준
    백엔드
    프로디지털아카데미
    코테
    프디아
    github
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
hiwon
[백준] 1253번 좋다 - python 파이썬
상단으로

티스토리툴바