본문 바로가기
728x90
반응형

알고리즘4

[백준 알고리즘] 7576번 토마토 with JAVA (메모리 초과) 전형적인 BFS 문제이다. 하루가 지날때마다 토마토는 익고 박스안에 토마토들이 전부다 익으면 그 날을 계산하여 출력하는거다. 1. 입력된 토마토박스에서 익은 토마토를 찾아서 그 토마토에 위치를 저장해두는 클래스, 그리고 그 클래스를 담는 queue를 생성한다. 2. 큐가 빌때까지 루프를 돌리고 queue에서 나온 토마토 좌표에서 상하좌우를 계산한후 방문하지 않고 익지않은 토마토를 다시 위치 클래스로 만들고 그 클래스를 queue에 담는다. 또한 상하좌우를 계산할때 하루가 지날때마다 익는다고 하였으니, 위치 클래스안에 변수 ripe를 만들어서 1씩 더해주자 3.큐가 다비면 더이상 방문할 토마토가 없는것이고, 다시 토마토 박스를 점검하여 배열에 0이 존재하면 -1를 출력하고 그렇지 않다면 몇일이 지나면 익는.. 2022. 1. 27.
[백준 알고리즘]10828번 stack 문제 python 리스트를 이용하여 스택을 구현하는 알고리즘인데 input()함수를 사용할경우 시간초과로 틀리는 상황이 발생한다. 그러므로 system에 stdin을 통해 input을 받아주면 시간초과문제는 해결된다. import sys if __name__ == "__main__": N = int(sys.stdin.readline().rstrip()) array = [] for i in range(N): result = sys.stdin.readline().rstrip().split(' ') if(result[0]=='push'): array.append(result[1]) elif(result[0]=='pop'): if(len(array)==0): print(-1) else: print(array.pop()) elif.. 2021. 3. 30.
[백준 알고리즘] 10872번 팩토리얼 Using nodejs 간단한 팩토리얼 문제이다 N * N-1 * N-2 * ... 1 아래 코드를 해석해보자면 N이 4라고 가정한다면 (1) f(4)*4; (2) f(3)*3; (3) f(2)*2; (4) f(1)*1; (3) return 1*2 => (2) return 2*3 => (1) return 6*4 =>result = 24 결과값이 나온다. const readline = require('readline'); const rl = readline.createInterface({ input: process.stdin, output: process.stdout }); rl.on('line', (answer) => { const N = parseInt(answer); const result = a(N); console.lo.. 2021. 3. 28.
[백준 알고리즘 3009]네 번째 점 python으로 구현. 네 번째 점 출처다국어분류 한국어 시간 제한메모리 제한제출정답맞은 사람정답 비율 1 초 128 MB 11869 8553 7819 73.995% 문제 세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오. 입력 세 점의 좌표가 한 줄에 하나씩 주어진다. 좌표는 1보다 크거나 같고, 1000보다 작거나 같은 정수이다. 출력 직사각형의 네 번째 점의 좌표를 출력한다. 예제 입력 1 복사 30 20 10 10 10 20 예제 출력 1 복사 30 10 이문제는 x,y값이 중복되지 않는 값을 찾는것이다. 설명은 아래에 해놓았다 if __name__ == '__main__': a = [] result_index_x =0 result_index_y =0 count.. 2020. 11. 16.
728x90
반응형