1193

    백준 1193 풀이

    기존에 코드를 작성했지만 [1,1]부터 차례로 하나씩 증가시키며 동작하도록 만들었다. 문제가 없다고 판단했지만 제출시에 시간초과가 떴다. 그래서 좀더 빠르게 타겟의 값을 가져오는 방법을 고민했다. 그래서 생각한것이 타겟에 가까운 인덱스를 빠르게 찾고, 해당 블럭안에서 값을 찾는 방법이다. 즉, 1/1 -> 1/2 -> 2/1 -> 3/1 -> 2/2 -> 1/3 -> 1/4 -> 2/3 -> 3/2 -> 4/1을 블록단위로 나눌수 있다. 즉, (1/1) -> (1/2 -> 2/1) -> (3/1 -> 2/2 -> 1/3) -> (1/4 -> 2/3 -> 3/2 -> 4/1) 따라서 해당 블록이 몇 번째인지 파악하는 식을 구해야한다. 솔직히 문과라서 동작과정은 이해했는데 식으로 짜기가 오래걸렸다........