아이디어 B 리스트의 최댓값과 A의 최솟값을 순서대로 곱해주면 된다. 문제에 있는 식을 생각한다면 정렬 작업을 우선 수행한 다음 곱해주는 것이 맞으나, 최종적으로 도출해야 하는 값이 S의 최솟값이므로 최댓값과 최솟값만 곱해줘도 된다고 생각했다. 코드 최솟값, 최댓값을 구하고 remove할 수도 있지만, pop을 활용해도 좋을 것 같다. => 백준으로 ...
아이디어 듣도 못한 사람들, 보도 못한 사람들 리스트를 각각 생성한다. 리스트를 집합으로 변환한 뒤 교집합을 구한다. 이를 사전순으로 정렬한다. 코드 > 리스트의 요소들을 1줄씩 출력하는 경우 1) for문 사용 2) print()의 sep옵션 사용 => *(unpacking operator)를 사용해서 언팩킹한 데이터를 출력해야 한다.
아이디어 그냥 주어진 값들을 입력받고 정렬한뒤 결과값을 출력하면 되는 문제였다. 코드
아이디어 sys 패키지를 사용해서 시간초과를 방지하는 것이 중요했던 문제였다. 코드
아이디어 문자열은 리스트처럼 각 요소별 접근이 가능하기 때문에 이를 각각 숫자로 변환해주는 작업이 중요했던 문제였다. 코드
1차 시도 - 시간초과 삼중 for문을 썼으니 당연히 시간초과 2차 시도 - 틀렸습니다 정렬을 했으니 이를 활용해보자는 생각을 하게 되었고, 현재 값과 바로 뒤의 값만 비교하면 되겠다는 생각을 하게 되었다. 3차 시도 - 틀렸습니다 문제를 다시 읽어봤고 "접두어"를 놓쳤다는 것을 알게되었다. 3차 시도 전까지 시도했던 코드들은 모두 해당 값이 어디에 ...
1차시도 - 틀렸습니다 > 반례발견 입력 -1 2 1 정답 -1 1 출력값 -1 2 2차시도 - 메모리 초과 > 0과 가까운 값 계산 - 절댓값 활용 abs함수 최종 코드 > 투포인터.....라고 합니다. 참고 링크 - https://studyandwrite.tistory.com/388
1차 시도 - 틀렸습니다. 최댓값을 더해줘야 한다 + 정렬작업 => 최대 힙이 생각났다. maxheap을 활용하여 문제를 해결할 수 있을 것이라고 생각했다. 스터디를 통해 방법을 알게 되었다. heapq의 heappop을 통해 최솟값을 뽑아내서 답을 구하는 방식이다.