본문 바로가기

728x90

시간초과

[백준알고리즘] 1016번: 제곱 ㄴㄴ 수 -C++ [백준알고리즘] 1016번: 제곱 ㄴㄴ 수 -C++ 1016번: 제곱 ㄴㄴ 수 (acmicpc.net) 1016번: 제곱 ㄴㄴ 수 어떤 수 X가 1보다 큰 제곱수로 나누어 떨어지지 않을 때, 제곱ㄴㄴ수라고 한다. 제곱수는 정수의 제곱이다. min과 max가 주어지면, min과 max를 포함한 사이에 제곱ㄴㄴ수가 몇 개 있는지 출력한다. www.acmicpc.net 시간 복잡도 때문에 문제 푸는데 좀 골머리를 앓았다 ㅎㅎ; 문제를 푸는 데 있어서 시간 복잡도를 생각할 부분이 두 개 있었다고 생각한다. 실제 제출해서 통과한 시간은 다른 분들이 10ms 안팎인 것에 비해 144ms라는 결과가 나왔지만, 푸는 과정은 거의 비슷했지만, 다른 분들은 다 배열을 썼기 때문에 이것은 STL을 사용했기 때문에 발생한 추.. 더보기
[백준알고리즘] 1946번: 신입 사원 -Python [백준알고리즘] 1946번: 신입 사원 -Python https://www.acmicpc.net/problem/1946 1946번: 신입 사원 첫째 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 20)가 주어진다. 각 테스트 케이스의 첫째 줄에 지원자의 숫자 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개 줄에는 각각의 지원자의 서류심사 성적, 면접 성적의 순위가 공백을 사이에 두고 한 줄에 주어진다. 두 성적 순위는 모두 1위부터 N위까지 동석차 없이 결정된다고 가정한다. www.acmicpc.net 문제 자체도 어려운 편이 아니었는데 계속 시간 초과가 나서 이상했었다. 한동안 sys.stdin.readline()대신 input()으로 다뤘더니 생긴 문제였다. 입력이 하나의 테스트케이스.. 더보기
[백준알고리즘] 7576번: 토마토 -Python [백준알고리즘] 7576번: 토마토 -Python https://www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토들의 정보가 주어진다. 즉, 둘째 줄부터 N개의 줄에는 상자에 담긴 토마토의 정보가 주어진다. 하나의 줄에는 상자 가로줄에 들어있는 토마토의 상태가 M개의 정수로 주어진다. 정수 1은 익은 토마토, 정수 0은 익지 않은 토마토, 정수 -1은 토마 www.acmicpc.net 시간 초과 때문에 고생을 조금 했던 문제이다. 우선은 시간을 줄인 부분을 빼고 다른 부분.. 더보기

728x90