8660번 Sumy i różnice | 뭐라도 하겠지

8660번 Sumy i różnice

이왜틀?


img01

8660번 Sumy i różnice - 백준

틀린 문제 중 마지막 브론즈따리 문제
더 이상의 힐링은 없다.
소스를 보자.

int n=Integer.parseInt(br.readLine());
StringTokenizer st=new StringTokenizer(br.readLine()," ");
long a=0;
long b=0;
while(st.hasMoreTokens()){
    if(st.nextToken().charAt(0)=='-') a++;
    else b++;
}
bw.write(a*b+"");

아~~~~ 접근은 좋았는데 아깝네~~~~

설계


a - b > a + b
당연하겠지만 b가 음수면 성립한다.

a != b인 쌍 중 b < 0 인 것만 세면 된다.

구현


import sys

n = int(sys.stdin.readline())

neg = 0
a = map(int, sys.stdin.readline().split())

for i in a:
    if i < 0:
        neg += 1

# a != b
print(neg * (n - 1))

채점


img02

반성


브론즈 끝!
실버의 세계로 들어간다.

코드 확인


Link to GitHub

Updated: