ํฐ์คํ ๋ฆฌ ๋ทฐ
๐ฅ ๋ฌธ์
์ง์ฌ๊ฐํ์ ๋ง๋๋ ๋ฐ ํ์ํ 4๊ฐ์ ์ ์ค 3๊ฐ์ ์ขํ๊ฐ ์ฃผ์ด์ง ๋, ๋๋จธ์ง ํ ์ ์ ์ขํ๋ฅผ ๊ตฌํ๋ ค๊ณ ํฉ๋๋ค. ์ 3๊ฐ์ ์ขํ๊ฐ ๋ค์ด์๋ ๋ฐฐ์ด v๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ์ง์ฌ๊ฐํ์ ๋ง๋๋ ๋ฐ ํ์ํ ๋๋จธ์ง ํ ์ ์ ์ขํ๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. ๋จ, ์ง์ฌ๊ฐํ์ ๊ฐ ๋ณ์ x์ถ, y์ถ์ ํํํ๋ฉฐ, ๋ฐ๋์ ์ง์ฌ๊ฐํ์ ๋ง๋ค ์ ์๋ ๊ฒฝ์ฐ๋ง ์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง๋๋ค.
๐ค ํ์ด ๋ฐฉ๋ฒ
[[1, 4], [3, 4], [3, 10], [1, 10]] -> 1, y : 2๊ฐ, 3, y : 2๊ฐ...
4๊ฐ์ ์ขํ๋ก ์ง์ฌ๊ฐํ์ ๋ง๋ค๋ฉด ๊ฐ ์ ์ ์ด๋ฃจ๋ ์ขํ๋ 2๊ฐ์ฉ ์ค๋ณต๋๋ค. ์ด๋ฅผ ์ด์ฉํ๋ฉด ๋ฌธ์ ๋ฅผ ๊ฐ๋จํ๊ฒ ํ ์ ์๋ค.
if๋ก ๊ตฌํ
if v[0][0] == v[1][0] { ans[0] = v[2][0] }
- ์ฒซ ๋ฒ์งธ ์ ๊ณผ ๋ ๋ฒ์งธ ์ ์ x์ขํ๊ฐ ๊ฐ์ผ๋ฉด ์ธ ๋ฒ์งธ ์ ์ x์ขํ๊ฐ ๋ต์ด ๋๋ค.
ternary๋ก ๊ตฌํ
if๋ฅผ ์ด์ฉํ์ฌ ๊ตฌํํ ๊ฒ์ ternary๋ก ๊ฐ๋จํ๊ฒ ๊ตฌํํ ์ ์๋ค.
a ? b : c
: a๊ฐ ์ฐธ์ด๋ฉด b๋ฅผ ์คํํ๊ณ ๊ฑฐ์ง์ด๋ฉด c๋ฅผ ์คํํ๋ค.
XOR ์ฌ์ฉํ์ฌ ๊ตฌํ
ans[0] = ans[0]^arrayV.first!
ans[0]
์v
์ x์ขํ๋ฅผ ๋ฃ๊ณ ์ด๋ฅผ XOR์ฐ์ฐ์ ํด์ค๋ค.
map์ผ๋ก ๊ตฌํ
v.map{$0[0]}.reduce(0, ^)
- x์ขํ์ ์ฒซ ๋ฒ์งธ ๊ฐ์ ๋ฝ์ ์ด๋ฅผ ^(XOR) ์ฐ์ฐํด ์ค๋ค.
๐ฉ๐ป๐ป Swift Code
if๋ก ๊ตฌํ
import Foundation
func solution(_ v: [[Int]]) -> [Int]
{
var ans = [Int](repeating: 0, count: 2)
if v[0][0] == v[1][0] {
ans[0] = v[2][0]
} else if v[0][0] == v[2][0] {
ans[0] = v[1][0]
} else if v[1][0] == v[2][0] {
ans[0] = v[0][0]
}
if v[0][1] == v[1][1] {
ans[1] = v[2][1]
} else if v[0][1] == v[2][1] {
ans[1] = v[1][1]
} else if v[1][1] == v[2][1] {
ans[1] = v[0][1]
}
return ans
}
ternary๋ก ๊ตฌํ
import Foundation
func solution(_ v: [[Int]]) -> [Int]
{
var ans = [Int](repeating: 0, count: 2)
ans[0] = v[0][0] == v[1][0] ? v[2][0] : (v[0][0] == v[2][0] ? v[1][0] : v[0][0])
ans[1] = v[0][1] == v[1][1] ? v[2][1] : (v[0][1] == v[2][1] ? v[1][1] : v[0][1])
return ans
}
xor ์ฌ์ฉํ์ฌ ๊ตฌํ
import Foundation
func solution(_ v: [[Int]]) -> [Int]
{
var ans = [Int](repeating: 0, count: 2)
for arrayV in v {
ans[0] = ans[0]^arrayV.first!
ans[1] = ans[1]^arrayV.last!
}
return ans
}
map์ผ๋ก ๊ตฌํ
import Foundation
func solution(_ v: [[Int]]) -> [Int]
{
var ans = [Int](repeating: 0, count: 2)
ans[0] = v.map{$0[0]}.reduce(0, ^)
ans[1] = v.map{$0[1]}.reduce(0, ^)
return ans
}
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Algorithm] ์ต๋๊ณต์ฝ์์ ์ต์๊ณต๋ฐฐ์ (์ ํด๋ฆฌ๋ ํธ์ ๋ฒ) (0) | 2021.04.05 |
---|---|
[Algorithm] ์์ ์ฐพ๊ธฐ (์๋ผํ ์คํ ๋ค์ค์ ์ฒด) (0) | 2021.04.05 |
[Algorithm] N์ผ๋ก ํํ (๊น์ด ์ฐ์ ํ์(DFS)) (0) | 2021.03.19 |
[Algorithm] ์๋ฆฟ์ ๋ํ๊ธฐ (map, reduce) (0) | 2021.03.19 |
[Algorithm] ํฌ๋ ์ธ ์ธํ๋ฝ๊ธฐ ๊ฒ์ (append(), removeLast()) (0) | 2021.03.16 |
- Total
- Today
- Yesterday
- map
- Git
- UISearchController
- TIL
- ํ๋ก๊ทธ๋๋จธ์ค
- Baekjoon
- IOS
- ternary
- programmers
- Kakao
- sql
- abs()
- ์ ํด๋ฆฌ๋ ํธ์ ๋ฒ
- Algorithm
- compactMap
- iTunes Search API
- ๋ฌ๋ ฅ
- DFS
- ๊น์ด ์ฐ์ ํ์
- BOJ
- mysql
- ์ต๋๊ณต์ฝ์
- java
- ์ต์๊ณต๋ฐฐ์
- calendar
- SWIFT
- ์๋กํ ์คํ ๋ค์ค์ ์ฒด
- ๋ค๋ฆฌ๋ฅผ ์ง๋๋ ํธ๋ญ
- Firebase
- ๋ณ์ก
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |