본문 바로가기

ios122

Swift) 백준 1002번 (터렛) 요구능력 : 원의 성질에 대해 알고 있느냐 코드설명 : 원의 내접, 외접, 접하지않는것을 이용하여 조건을 만들었다. 변수 r의 경우 두 원의 거리를 구한것이다.(중심을 기준) 후기 : 솔직히 원의 성질알아도 처음 문제보고 딱 생각해내는 사람이 얼마나 있겟느냐마는... 원으로 접근하면 그닥 어려운 문제는 아닌것같다. 원으로 접근할 수 있는 근거를 들어보자면 각각 두개의 좌표와 반지름을 주고, 두 좌표에서 주어진 거리만큼 떨어져 있는 위치에 몇개가 있을 수 있는지를 찾아야된다는 것이다. let T = Int(readLine()!)! for _ in 1...T { let arr = readLine()!.split(separator: " ").map{ Int($0)! } var r1 = arr[2] var r2.. 2021. 8. 16.
Swift) 백준 4153번 (직각삼각형) 요구능력 : 피타고라스의 정리를 아느냐 코드설명 : 입력받은 수 중에 가장 큰 수가 빗면이다. 그럼 가장큰수를 제외하고 나머지 가로, 세로변의 제곱을 더해서 누적해줬다. 그리고 마지막에는 피타고라스의 정리 빗면^2 == 가로^2 + 세로^2 를 이용해서 맞으면 right 틀리면 wrong을 출력했다. 후기 : 한번 제출하고 실패한 다음에 입력숫자 순서는 무작위라는 것을 알게되었고, if문을 많이쓰면 머리쓸필요없지만 쓰기싫어서 while문으로 처리했다. while true { var jegop = 0 var i = 0 let arr = readLine()!.split(separator: " ").map{ Int($0)! } if arr == [0, 0, 0] { break } while i < arr.co.. 2021. 8. 15.
Swift) 백준 3009번 (네 번째 점) 요구능력 : 평행한 점을 찾기위한 규칙을 찾을 수 있느냐 코드설명 : 평행하려면 동일한 x절편과 y절편이 2번 나와야 된다. for문을 이용해서 없는 x절편과 y절편을 찾아서 각각 새로운 배열에 삽입하고 출력했다. 후기 : 쉬운문제인것같다. let arr1 = readLine()!.split(separator: " ").map{Int($0)!} let arr2 = readLine()!.split(separator: " ").map{Int($0)!} let arr3 = readLine()!.split(separator: " ").map{Int($0)!} var arr4:[Int] = [] var temp = 0 for i in 0.. 2021. 8. 15.
Swift) 백준 1085번 (직사각형에서 탈출) 요구능력 : 덧셈, 뺄셈 코드설명 : 문제에서 말하는 경계선은 (x, y)에서 직사각형의 변에 최소한으로 닿을수 있는 거리를 물어본것이다. 그림을 보면 빨간화살표를 말하는 것이다. (0, 0)에서 (x, y) 와 (x, y)에서 (w, h)의 x값과 y값 각각의 거리를 구해주면 된다. 그렇다면, 구해야 할 값은 x, y, (w - x), (h - y) 가 된다. 나는 여기서 arr[2]와 arr[3]에 구해야되는 (w - x), (h - y)를 미리 계산하여 집어넣었다. 그리고 for문을 실행하여 각각 비교하고 가장 작은값을 temp에 저장해줬다. 후기 : 쉬웠다. var arr = readLine()!.split(separator: " ").map{Int($0)!} arr[2] = arr[2] - ar.. 2021. 8. 15.