Skip to content

0618

백준: So☆Lucky

오늘은 기분이 조아서 골드 문제 풀겠슴다

맨 첨엔 그냥 단순한 구현 문제라고 생각하고
진짜 문제에 적혀있는 조건 그대로 while문으로 풀었다
하지만 당연히? 시간초과 발생

n이 20만까지 주어지는데 1초 안에 풀려야되니
그래프로 풀어야 될 것 같다는 생각이 들었다

리스트에서 인접한 인덱스끼리 교환하여 정렬하는건 버블 정렬인데
버블 정렬을 빠르게 하는 방법은 union find니까
union find 후에 sorted랑 비교해서 플래그로 출력하면 되지 않을까
했는데 10%대에서 넘어가지 못하고 계속 틀렸다

다시 돌아가서 어케 풀어야지..하다가
두 수를 더했을 때 합이 짝이 나오려면 무조건 홀/짝 아님 짝/홀 이어야 되고
홀이 나오려면 짝짝 아님 홀홀 이어야 하지 않는가

즉 홀수합을 스위칭할 땐 홀수합 짝수합을 미리 구해놓고
이 순서가 정렬 순서와 같다면 홀수합 스위칭 조건을 만족하는거고

짝수합은 그룹들을 각각 정렬한 후 전체를 합쳤을 때 결과와 같다면 만족한다는 식으로
풀었는데.... 그래프로 풀었을 땐 왜 틀린걸까 흠

RealWorld

  • Form 라이브러리 관련 포스팅

음 useMemo 관련 글을 읽는데
Pasted image 20250618190858
콘서트 결제가 생각나네요
근데 메모이제이션 관련해서도 좀 다시 생각해봐야 될 것 같아요
뭔가 성능과 관련한 글들은 정확한 수치가 없으면 화다닥 하고 와닿는 기분이 안 든다 랄까..........