주어진 스킬을 리스트화 시켜서스킬트리별로 스킬에 있는것이라면 pop()하여 같지않다면 break같지 않다는 것은 순서가 다르다는 뜻이기 때문이다..for-else문을 이용하여 break문에 걸리지 않는다면 잘 통과했다는 뜻이므로 answer + 1 을 해준다.
주어진 배열을 정렬한 다음 제일 앞을 (i = 0) 제일 뒤를 j = 길이 -1 로 둔다.2명씩밖에 못타므로 앞과 뒤를 하나씩 뽑아서limit을 초과하면 뒷사람만초과하지 않으면 둘다 태우는 방식del, remove를 사용할 필요없이 i / j 의 인덱스 비교를 통해
number에서 하나씩 answer 배열에 집어넣을 때 배열에 더 작은 값이 있으면 없을때까지 pop()pop 횟수를 k와 같을때까지 위 작업 반복테스트 케이스 하나가 틀려서 91.7점for문을 빠져나왔을 때 cnt < k 인 경우가 발생할 수 있다.따라서 for
옛날 옛적에 수학이 항상 큰 골칫거리였던 나라가 있었다. 이 나라의 국왕 김지민은 다음과 같은 문제를 내고 큰 상금을 걸었다.길이가 N인 정수 배열 A와 B가 있다. 다음과 같이 함수 S를 정의하자.S = A0 × B0 + ... + AN-1 × BN-1S의 값을 가장
제한시간 2초 메모리제한 256 MB입력253 21 44 12 35 573 67 34 21 45 72 56 1출력43배열을 만들어 서류심사 성적을 index로, 면접성적을 value로 하여 정렬 필요없게 배열에 값 저장for문으로 순회하면서 인덱스가 커졌는데 값도 커지
입력abcd3P xLP y출력abcdyx스택으로 풀어야 하는데 그냥 문자열로 풀어서 시간초과문자열 길이가 최대 100,000개에 입력할 명령어 개수가 최대 500,000개라서 당연한 결과였다..이것도 시간초과..import sys로 input받는 습관을 기르자
시간제한 1초N \* M 행렬에서 테두리수는 min(n,m)//2개가 된다현재 좌표를 (x,y)라 하고, 다음 좌표(nx,ny)와 계속 swap하는 방식으로 구현하였다.이 식은 i번째 테두리에 있는 원소의 개수가 2N + 2M - (8i-4)에서 나온식으로 방향전환을
내 코드
계속해서 시간초과가 나서 틀린 문제이 부분이 필요없었다.방문했다가 안돼서 돌아가야 하는 상황이면 false로 바꿀 필요가 없었다.왜냐하면 현재 좌표에서 안돼서 돌아가야 하는 상황이면 다른 상황에서도 그좌표는 또 돌아가야하니까 false로 바꿀 필요가 없는 것이었다.저
문제를 풀 때 항상 제약조건을 꼼꼼하게 생각하자고 다짐하게 된 문제버스의 비용이 0일 수도 있었고,같은 경로에 대해서 비용이 두번 나오면 최소값으로만 넣어야 했었는데두가지 상황 모두 생각도 안하고 풀다가 둘다 하나씩 알아내는데 시간 꽤나 많이 잡아먹었다 하..
가장 인접한 두 공유기 사이의 거리를 최대한으로 하길 원하므로 이 값을 가지고 놀아야한다.공유기 개수 C가 주어지므로 두 공유기 사이의 거리를 늘렸다 줄였다 하면서 각 거리때마다 C개를 세울 수 있는지 판단한다.각 거리때마다 공유기 몇개를 세울 수 있는지 판별하기집의
front 와 mid로 하나씩 비교해가면서 풀려고 했지만, 점점 더러워지면서 테케는 맞는데 통과를 못했다.문자열 뒤집기 ::-1 을 사용지렷다i번째부터 끝까지랑 이걸 뒤집은게 같으면 그앞에거만큼 뒤집어서 넣어주면 된다.
Point클래스를 만들어서 방향과 몇번 꺾었는지를 나타내려고 함for문 돌때 기존 방향과 다르면 cnt+1, 같으면 그대로어느 한점까지 갈때 이미 방문을 헀는데 기존보다 덜 꺾어서 갈 수 있는 경우가 있어도 업데이트를 안하는 문제가 있다.
트리에서의 다이나믹 프로그래밍은 보통 i번째 노드를 루트로 하는 서브트리에서 i번째 루트노드를 포함했을때와 포함 안했을때 중 최적값을 계산하는 방식이다.DFS를 사용하여 leaf node의 값부터 알아내면서 문제를 해결하는 방식기본적인 뼈대는 아래와 같다visit배열을