AngelPlayer`s Diary

링크

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AXO8QBw6Qu4DFAXS&categoryId=AXO8QBw6Qu4DFAXS&categoryType=CODE&problemTitle=10580&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=&pageSize=10&pageIndex=1 

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

 

 

문제 해석

두 전봇대 사이에 걸려있는 전선이 서로 만나는 교차점이 몇 개 있는지 구하라.

 

TC : 테스트 케이스 수

N : 전선의 개수 (1 ≤ N ≤1000)

Ai, Bi : 전봇대에 걸려있는 고도 (1 ≤ Ai, Bi ≤ 10000)

-> 고도는 모두 다르다.

 

 

- input

T

N

Ai, Bi (*N)

 

코드

 

 

 

코드 해석

경우의 수는 두 가지이다.

1. 새로운 선의 시작점이 기존선의 시작점보다 낮은 경우, 새로운 선의 끝점이 기존선의 끝점보다 높은 경우에만 교차점이 발생한다.

2. 새로운 선의 시작점이 기존선의 시작점보다 높은 경우, 새로운 선의 끝점이 기존선의 끝점보다 낮은 경우에만 교차점이 발생한다.

위와 같은 경우의 수를 고려하여 코드를 작성하면 쉽게 풀린다.

 

 

 

발생한 문제 & 해결 방안

경우의 수를 너무 어렵게 고민하여서 시간이 오래 걸렸다.

첫날에 문제를 확인했을 때 두시간을 봐도 해결을 못하였는데, 다음날 정신차리고 보니 10분만에 해결되었다..

조금 더 문제를 명확하게 파악하고 경우의 수를 제대로 이해해야겠다.

 

 

 

 

 

 

 

해당 코드는 에디터가 코드 연습을 위해 직접 작성하였습니다.

혹시 오류가 있거나 더 좋은 코드 방향성을 아시는 분은 댓글로 남겨주시면 감사하겠습니다!

source : https://github.com/ssh5212/conding-test-practice

공유하기

facebook twitter kakaoTalk kakaostory naver band