//구글콘솔 광고 추가가
겹치는 선분의 길이 문제

내 코드
using System;
using System.Linq;
public class Solution {
    public int solution(int[,] lines) {
        int answer = 0;
        int [] a = { lines[0, 0], lines[1, 0], lines[2, 0] }; 
        int [] b = { lines[0, 1], lines[1, 1], lines[2, 1] };
        int aMin = a.Min(); 
        int bMax = b.Max();
        for (int k = aMin; k < bMax; k++) 
        {
            int count = 0;
            if( k >= a[0] && k + 1 <= b[0])
            {
                count++;
            }
            if (k >= a[1] && k + 1 <= b[1])
            {
                count++;
            }
            if (k >= a[2] && k + 1 <= b[2])
            {
                count++;
            }
            if(count >= 2)
            {
                answer++;
            }
        }
        return answer;
    }
}
728x90
반응형

이문제는 두 점을 이용해서 기울기를 구하는 방법를 알고 있어야 한다. 당연하게도 평행이 되려면 기울기가 같으면 됨.

기울기가 m , y절편이 n인 직선의 방정식 >> y = mx +n
직선의 두점 (x1, y1), (x2, y2)를 지날때,
기울기 = (y값의 증가량) / (x값의 증가량) == (y1 -y2) / (x1- x2)

평행 문제

내 코드
using System;

public class Solution { //기울기 구하기
    public int solution(int[,] dots) {
        if((double)(dots[0,0] - dots[1,0]) / (dots[0,1] - dots[1,1]) == (double)(dots[2,0] - dots[3,0]) / (dots[2,1] - dots[3,1]))
        {
            return 1;
        }
        if((double)(dots[0,0] - dots[2,0]) / (dots[0,1] - dots[2,1]) == (double)(dots[1,0] - dots[3,0]) / (dots[1,1] - dots[3,1]))
        {
            return 1;
        }
        if((double)(dots[0,0] - dots[3,0]) / (dots[0,1] - dots[3,1]) == (double)(dots[1,0] - dots[2,0]) / (dots[1,1] - dots[2,1]))
        {
            return 1;
        }
        return 0;
    }
}
728x90
반응형
옹알이 (1) 문제

내 코드
using System;

public class Solution {
    public int solution(string[] babbling) {
        int answer = 0;
        string[] ableTalk = {"aya", "ye", "woo", "ma"};
        for (int i = 0; i < babbling.Length; i++)
        {
            for (int j = 0; j < ableTalk.Length; j++)
            {
                babbling[i] = babbling[i].Replace(ableTalk[j], "H");
            }

            babbling[i] = babbling[i].Replace('H'.ToString(),"");
            if (babbling[i] == "") answer++;
        }        
        return answer;
    }
}
728x90
반응형

+ Recent posts