PS 몇 년 하면서 난생 처음 보는 억까를 당했는데 http://boj.kr/175311e65e344539b75d000d1756d350 http://boj.kr/6898338e4af84ed89ea669d83232c3d1 Baekjoon Online JudgeBaekjoon Online Judgeboj.kr두 코드에서 바뀐 건 sort 안에 함수 지정해준 것밖에 없음 살다살다 람다식을 써야만 뚫리는 문제는 처음 보는데 위에 것도 pass by reference라 메모리 복사 안 일어나는 걸로 안단 말이지 혹시 내가 뭐 잘못 알고 있거나 아님 실제로 람다 쓰면 유의미하게 개선되는 점이 존재하거나 그런 거임?
첫 소스에서 에러가 나는 것은 비교 연산자로 <=를 써서 그럼 먼저 <로 바꿔보고 그래도 안 된다면 더 살펴봄
dict는 unordered_map<string, double>이라 등호 써도 세그폴트가 날 이유는 없고 스페셜저지라 등호 써도 상관없는 문제임
미안하다 내가 빡통이다
위에꺼 비교함수에 dict[a] <= dict[b]썼는데?? 그럼 당연히 터지지
일단 한 번 다시 내봄..
ㅋㅋㅋ등호빼니까 됏쥬?
https://m.blog.naver.com/luku756/222125315824
8년동안 이걸로 한 번도 안 당해본 것도 신기하네 오늘도 하나 배우고 간다
게이야...
참고로 c++에서 객체를 파라메터로 보낼때는 해당 외부 객체가 함수 내부에서 수정될 일이 없는 이상 항상 위처럼 pass-by-reference로 보내야함. 아래처럼 쓸데없이 복사하다가 또 의문의 TLE 당할 수 있고 나중에 실무할 때도 저렇게 짜면 사수한테 한 소리 들을거임
ㅇㅇ 항상 위처럼 짜는데 공식 솔루션에서 저래놨길래 내가 모르는 뭔가 있는줄...
나도 비슷한거 자바할때 당했는데 진짜 당황스러움 ㅋㅋ - dc App
https://www.acmicpc.net/problem/13316
이래서 라이브러리 갖다쓰기전에 명세는 확실히 봐야하는거다..