728x90
SMALL

using System;

public class Solution {
    public int solution(int[,] lines) {
        int answer = 0;
        int max = 0;
        int min = 0;
        int[] lineArr = new int[200];
        //-100~100까지 있어서 200개의 배열을 만들어 놓는다.
            
        for(int i = 0; i < lines.GetLength(0); i++)
        {
            max = Math.Max(lines[i,0], lines[i,1]); // 1  5  9
            // 둘 중에 최댓값 리턴
            min = Math.Min(lines[i,0], lines[i,1]); // 0  2  3
            // 둘 중에 최솟값 리턴
            
            for(int j = min; j < max; j++)
            {
                lineArr[j + 100]++;
            }
        }


        for(int i = 0; i < lineArr.Length; i++)
        {
            if(lineArr[i] > 1) // 두 번 이상 플러스가 된 lineArr을 불러온다.
            {
                answer++;
            }
        }
        return answer;
    }
}

 

 

자바

 

 

import java.util.HashMap;
import java.util.Map;

class Solution {
    public int solution(int[][] lines) {
        Map<Integer, Integer> map = new HashMap<>();

        for (int i=0; i<lines.length; i++) 
        {
            int min = Math.min(lines[i][0], lines[i][1]);
            int max = Math.max(lines[i][0], lines[i][1]);

            for (int j=min; j<max; j++) 
            {
                map.put(j, map.getOrDefault(j, 0) + 1);
            }
        }

        int answer = 0;

        for (Map.Entry<Integer, Integer> entry : map.entrySet()) 
        {
            if (entry.getValue() >= 2) 
            {
                answer++;
            }
        }

        return answer;
    }
}

 

 

class Solution {
    public int solution(int[][] lines) {
        int answer = 0;
        int[] cnt = new int[202];
        for(int i = 0; i < lines.length; i++) {
            int start = lines[i][0] + 100;
            int end = lines[i][1] + 100;
            
            if(start > end) 
            {
                int tmp = start;
                start = end;
                end = tmp;
            }

            for(int j = start; j < end; j++) cnt[j]++;
        }

        for(int i = 0; i < 202; i++) 
        {
            if(cnt[i] > 1) answer++;
        }
        
        return answer;
    }
}
728x90

설정

트랙백

댓글