ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 17. 카펫
    코딩 테스트/Level 2 2020. 7. 31. 23:55
    반응형

    https://programmers.co.kr/learn/courses/30/lessons/42842

     

    5507명 완료

    그림도 나오고 해야 알고리듬 푸는 맛이 좀....

     

    코딩테스트 연습 - 카펫

    Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 ��

    programmers.co.kr

    파이썬

    def solution(brown, red):
        for x in range(1, red + 1):
            y = red / x
            if (brown - 4) / 2 == x + y:
                return [int(y)+2, x+2]
    테스트 1 〉	통과 (0.04ms, 10.7MB)
    테스트 2 〉	통과 (0.04ms, 10.8MB)
    테스트 3 〉	통과 (0.16ms, 10.7MB)
    테스트 4 〉	통과 (0.04ms, 10.6MB)
    테스트 5 〉	통과 (0.04ms, 10.7MB)
    테스트 6 〉	통과 (0.07ms, 10.7MB)
    테스트 7 〉	통과 (0.12ms, 10.7MB)
    테스트 8 〉	통과 (0.20ms, 10.7MB)
    테스트 9 〉	통과 (0.13ms, 10.7MB)
    테스트 10 〉	통과 (0.17ms, 10.7MB)
    테스트 11 〉	통과 (0.04ms, 10.8MB)
    테스트 12 〉	통과 (0.04ms, 10.6MB)
    테스트 13 〉	통과 (0.04ms, 10.8MB)

    자바스크립트

    function solution(brown, red) {
    	for (let x = 1; x <= red; x++) {
    		y = red / x
    		if ((brown - 4) / 2 == x + y)
    			return [parseInt(y) + 2, x + 2]
    	}
    }
    테스트 1 〉	통과 (1.63ms, 37.5MB)
    테스트 2 〉	통과 (1.69ms, 37.4MB)
    테스트 3 〉	통과 (1.90ms, 37.3MB)
    테스트 4 〉	통과 (1.79ms, 37.6MB)
    테스트 5 〉	통과 (1.67ms, 37.1MB)
    테스트 6 〉	통과 (1.65ms, 37.5MB)
    테스트 7 〉	통과 (1.77ms, 37.4MB)
    테스트 8 〉	통과 (1.87ms, 37.4MB)
    테스트 9 〉	통과 (1.71ms, 37MB)
    테스트 10 〉	통과 (1.77ms, 37.5MB)
    테스트 11 〉	통과 (1.71ms, 37.4MB)
    테스트 12 〉	통과 (1.77ms, 37.4MB)
    테스트 13 〉	통과 (1.64ms, 37.1MB)

    GO

    func solution(brown int, red int) []int {
    	for x := 1; x <= red; x++ {
    		if red%x == 0 {
    			y := red / x
    			if red+brown == (x+2)*(y+2) {
    				return []int{y + 2, x + 2}
    			}
    		}
    	}
    	panic("error")
    }
    테스트 1 〉	통과 (0.02ms, 9.17MB)
    테스트 2 〉	통과 (0.02ms, 9.05MB)
    테스트 3 〉	통과 (0.03ms, 9.2MB)
    테스트 4 〉	통과 (0.03ms, 9.23MB)
    테스트 5 〉	통과 (0.03ms, 9.18MB)
    테스트 6 〉	통과 (0.51ms, 11.2MB)
    테스트 7 〉	통과 (0.05ms, 9.23MB)
    테스트 8 〉	통과 (0.04ms, 9.12MB)
    테스트 9 〉	통과 (0.04ms, 11MB)
    테스트 10 〉	통과 (0.07ms, 11.1MB)
    테스트 11 〉	통과 (0.03ms, 9.05MB)
    테스트 12 〉	통과 (0.03ms, 9.12MB)
    테스트 13 〉	통과 (0.03ms, 9.16MB)

    C#

    public class Solution
    {
        public int[] solution(int brown, int red)
        {
            for (int x = 1; x <= red; x++)
            {
                if (red % x == 0)
                {
                    var y = red / x;
                    if (red + brown == (x + 2) * (y + 2))
                        return new int[] { y + 2, x + 2 };
                }
            }
            return new int[] { };
        }
    }
    테스트 1 〉	통과 (13.00ms, 56.7MB)
    테스트 2 〉	통과 (12.44ms, 59MB)
    테스트 3 〉	통과 (12.22ms, 54.6MB)
    테스트 4 〉	통과 (12.87ms, 54.6MB)
    테스트 5 〉	통과 (13.10ms, 52.7MB)
    테스트 6 〉	통과 (13.06ms, 56.9MB)
    테스트 7 〉	통과 (12.42ms, 54.6MB)
    테스트 8 〉	통과 (12.20ms, 52.5MB)
    테스트 9 〉	통과 (12.89ms, 56.8MB)
    테스트 10 〉	통과 (12.17ms, 59.1MB)
    테스트 11 〉	통과 (12.32ms, 54.8MB)
    테스트 12 〉	통과 (12.90ms, 58.7MB)
    테스트 13 〉	통과 (13.12ms, 54.7MB)

    Java

    class Solution {
        public int[] solution(int brown, int red) {
            for (int x = 1; x <= red; x++)
            {
                if (red % x == 0)
                {
                    var y = red / x;
                    if (red + brown == (x + 2) * (y + 2))
                        return new int[] { y + 2, x + 2 };
                }
            }
            return new int[] { };
        }
    }
    테스트 1 〉	통과 (1.45ms, 50MB)
    테스트 2 〉	통과 (1.40ms, 50.3MB)
    테스트 3 〉	통과 (1.45ms, 50MB)
    테스트 4 〉	통과 (1.59ms, 52.2MB)
    테스트 5 〉	통과 (1.35ms, 50.1MB)
    테스트 6 〉	통과 (1.49ms, 50.4MB)
    테스트 7 〉	통과 (1.41ms, 52.6MB)
    테스트 8 〉	통과 (1.56ms, 52.1MB)
    테스트 9 〉	통과 (1.44ms, 52.3MB)
    테스트 10 〉	통과 (1.54ms, 52.7MB)
    테스트 11 〉	통과 (1.63ms, 52MB)
    테스트 12 〉	통과 (1.46ms, 51.9MB)
    테스트 13 〉	통과 (1.54ms, 50.9MB)

    Kotlin

    class Solution {
        fun solution(brown: Int, red: Int): IntArray {
            for (x in 1..red) {
                if (red % x == 0) {
                    val y = red / x
                    if (red + brown == (x + 2) * (y + 2)) return intArrayOf(y + 2, x + 2)
                }
            }
            return intArrayOf()
        }
    }
    테스트 1 〉	통과 (1.54ms, 57.2MB)
    테스트 2 〉	통과 (1.40ms, 57.7MB)
    테스트 3 〉	통과 (1.74ms, 58.8MB)
    테스트 4 〉	통과 (1.55ms, 56.8MB)
    테스트 5 〉	통과 (1.82ms, 58.9MB)
    테스트 6 〉	통과 (1.54ms, 57.1MB)
    테스트 7 〉	통과 (1.55ms, 59.4MB)
    테스트 8 〉	통과 (1.60ms, 57.2MB)
    테스트 9 〉	통과 (1.44ms, 57.7MB)
    테스트 10 〉	통과 (2.15ms, 56.7MB)
    테스트 11 〉	통과 (1.68ms, 59MB)
    테스트 12 〉	통과 (1.58ms, 59.5MB)
    테스트 13 〉	통과 (1.57ms, 59.2MB)
    반응형
Designed by Tistory.