https://www.acmicpc.net/problem/1764
그냥 모든 경우의 수를 입력 받은 후 (듣지 못하는 사람) 을 보지 못하는 사람을 입력받을 때
듣지 못하는 사람 전체와 비교를 하면 시간 초과가 뜹니다 (n,m이 무려 500,000이기 때문에 )
그래서 오랜만에 binarysearch를 직접 구현하여 문제를 해결 하였습니다.
그리고 문제에서 사전 순 배열을 원하였으므로 중간에 sort를 사용하시면 됩니다.
https://www.acmicpc.net/problem/1764
그냥 모든 경우의 수를 입력 받은 후 (듣지 못하는 사람) 을 보지 못하는 사람을 입력받을 때
듣지 못하는 사람 전체와 비교를 하면 시간 초과가 뜹니다 (n,m이 무려 500,000이기 때문에 )
그래서 오랜만에 binarysearch를 직접 구현하여 문제를 해결 하였습니다.
그리고 문제에서 사전 순 배열을 원하였으므로 중간에 sort를 사용하시면 됩니다.
https://www.acmicpc.net/problem/1059
어느정도의 규칙을 파악하는 건데
생각보다 마지막 출력에서 식을 잘못 세워 여러번 틀렸다.
max, min 을 설정해두고 그려가면서 하면 편하고
N은 B보다 커질 경우는 생각할 필요 없다(조건상)
N이 럭키셋의 모든 수들보다 작은 (즉 N이 직선상에서 가장 왼쪽에 있는경우)
를 함께 생각해서 식을 세워주면 된다.
그리고 N이 럭키셋에 있는 수 중 하나와 같게 된다면 UNLUCKY셋을 하나도 구성 할 수 없으므로
0을 출력하고 리턴하면 된다.
https://www.acmicpc.net/problem/16212
기본적인 정렬을 할줄 아는지 물어보기 위한 문제 인듯 싶네요
c++에서 정렬은
sort(arr.begin(),arr.end()) 이렇게 하고
내림차순, 오름 차순이냐에 따라 greater<int> () 를 파라미터로 추가 해주느냐 마느냐 결정하시면 될 듯 합니다.
https://www.acmicpc.net/problem/15947
몇가지 조건들만 맞춰서 출력하도록 하면된다.
14개의 단어들이 한 단위로 구성되는데 숫자도 14개로 고정이라서 쉽다.
https://www.acmicpc.net/problem/1654
요즘 프로젝트로 biginteger를 다루는 자료형을 만들었었는데
이것의 부작용인지..... 문제를 처음 봤을때 조건들의 숫자가 그렇게 크지 않다고 생각하고 아무렇게나 접근했었는데
위와 같이 큰 수부터 1씩 감소 시켜주면서 잘라서 개수를 비교하여 처음 N 과 같아질때의 수를 출력하는 식으로 했더니?
채점중 2퍼인가 에서 시간초과...5퍼인가?.....
꽤 채점이 되다가 시간초과가 떳으면 이 코드에서 시간을 줄여보고자 생각을 했을 수도 있겠지만
터무늬 없어서 방법을 바꿔야 한다는 것을 깨닫고 문제 조건을 다시 파악했다....
무엇이 좋을까 하다가 떠오른건 "이분탐색"
코드의 디테일 까지는 잘 생각이 안나서 짜면서 신경 써야되는 부분이 있지만
역시 개념자체는 배워놓으면 잘 까먹지 않고 생각 나는 것 같아서 혼자 뿌듯....
이분 탐색으로 짠 코드는 다음과 같다.
간단해서 따로 설명할 것은 없어보이고
길이는 1이상 이기때문에 처음 bottom값을 0으로 설정하면 채점중 런타임 에러가 나타난다. <주의>
백준 10995 (0) | 2019.12.30 |
---|---|
백준 15947 (0) | 2019.12.30 |
백준 10818 (0) | 2019.12.25 |
백준 10757 큰 수 A+B (0) | 2019.11.24 |
백준 10989 수정렬하기3 (0) | 2019.11.16 |
https://www.acmicpc.net/problem/10818
1<=N<=1000000
입력의 모든 정수는 -1000000 보다 크거나 같고 1000000보다 작거나 같은 정수이다
즉 일단 입력은 int 형으로 충분히 처리 가능.
출력을 보면 최대 최소값 하나씩만 뽑아내면 되기 때문에 입력을 받은 후 정렬같은 것 하지말고 비교만 해서
최소 최대 값을 저장, 갱신 했다.
백준 15947 (0) | 2019.12.30 |
---|---|
백준 1654 (0) | 2019.12.29 |
백준 10757 큰 수 A+B (0) | 2019.11.24 |
백준 10989 수정렬하기3 (0) | 2019.11.16 |
백준 10773 제로 (0) | 2019.11.16 |