Bibi's DevLog ๐ค๐
[๋ฐฑ์ค 2846] ์ค๋ฅด๋ง๊ธธ (Swift) ๋ณธ๋ฌธ
ํ๋ก๊ทธ๋๋ฐ/์๊ณ ๋ฆฌ์ฆ ํ์ด Swift
[๋ฐฑ์ค 2846] ์ค๋ฅด๋ง๊ธธ (Swift)
๋น๋น bibi 2022. 9. 23. 15:25- ๋ค์ ์๊ฐ ์์ ์๋ณด๋ค ํด ๋๋ง ์ค๋ฅด๋ง๊ธธ์ด๋ผ๊ณ ํ๋จํ๋ค.
ํ์ด1
๋๋ ์ค๋ฅด๋ง๊ธธ์ธ ๋ฐฐ์ด์ ๋งค๋ฒ ๋ฐ์์ ๊ทธ ์ต์๊ฐ๊ณผ ์ต๋๊ฐ์ ํ๋จํ๋ค.
let count = Int(readLine()!)!
let inputArr = readLine()!.split(separator: " ").map { Int($0)! }
var previousValue = 0
var uphill: [Int] = []
var maxUphillHeight = 0
for index in inputArr.indices {
let input = inputArr[index]
if previousValue != 0 {
if input - previousValue > 0 { // ์ค๋ฅด๋ง
if uphill.isEmpty {
uphill.append(previousValue)
}
uphill.append(input)
}
if input - previousValue <= 0
|| index == (inputArr.indices.endIndex - 1) { // ์ค๋ฅด๋ง์ด ์๋๊ฑฐ๋, ์
๋ ฅ์ ๋์ธ ๊ฒฝ์ฐ
if !uphill.isEmpty {
let uphillHeight = uphill.max()! - uphill.min()!
if uphillHeight > maxUphillHeight {
maxUphillHeight = uphillHeight
}
uphill = []
}
}
}
previousValue = input
}
print(maxUphillHeight)
๊ทธ๋ฐ๋ฐ ๋ค๋ฅธ ํ์ด๋ฅผ ๋ณด๋ ๋๋ณด๋ค ํจ์ฌ ์ฝ๋๊ฐ ๊ฐ๊ฒฐํ๋ค.
์ค๋ฅด๋ง๊ธธ์์ด ํ๋ช ๋๋ฉด (๋ค์ ์ > ์์ ์) ์ค๋ฅด๋ง๊ธธ์ธ ๊ตฌ๊ฐ์ ์ต๋๊ฐ๊ณผ ์ต์๊ฐ์ ๊ตฌํ ํ์๊ฐ ์๋ค.
์ค๋ฅด๋ง๊ธธ์์ธ ์ด์ ๋ฌด์กฐ๊ฑด ์์ ์๋ณด๋ค ๋ค์ ์๊ฐ ํด ๊ฒ์ด๊ณ , ์ต์๊ฐ์ ๋ฐ๋์ ๋งจ ์์ ์, ์ต๋๊ฐ์ ๋ฐ๋์ ๋งจ ๋ค์ ์๊ฐ ๋๋ค.
๋ฐ๋ผ์ ์ค๋ฅด๋ง๊ธธ์ ์์์ ๊ณผ ๋์ ๋ง ํ๋จํ๋ฉด ๋ ๊ฐ๋จํ๊ฒ ์ฝ๋๋ฅผ ์งค ์ ์๋ ๊ฑฐ์๋ค!
ํ์ด2
- ์ถ์ฒ https://my-coding-notes.tistory.com/364
- ์ค๋ฅด๋ง์ ์์์ ๊ณผ ๋์ ๋ง ํ๋ณํ๋ ์ฝ๋ ์์ ๋๋ฐฐ ๊ฐ๊น์ด ์ค์ผ ์ ์๊ฒ ๋์๋ค.
let count = Int(readLine()!)!
let inputArr = readLine()!.split(separator: " ").map { Int($0) }
var uphillStart = inputArr[0]!
var uphillEnd = inputArr[0]!
var answer = 0
for i in 1..<count {
if inputArr[i]! <= uphillEnd {
uphillStart = inputArr[i]!
uphillEnd = inputArr[i]!
} else {
uphillEnd = inputArr[i]!
}
answer = max(answer, uphillEnd - uphillStart)
}
print(answer)
'ํ๋ก๊ทธ๋๋ฐ > ์๊ณ ๋ฆฌ์ฆ ํ์ด Swift' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค 2953] ๋๋ ์๋ฆฌ์ฌ๋ค (Swift) (0) | 2022.09.29 |
---|---|
[๋ฐฑ์ค 2947] ๋๋ฌด ์กฐ๊ฐ (0) | 2022.09.28 |
[๋ฐฑ์ค 2822] ์ ์ ๊ณ์ฐ (Swift) (0) | 2022.09.22 |
[๋ฐฑ์ค 2798] ๋ธ๋์ญ (Swift) (1) | 2022.09.21 |
[๋ฐฑ์ค 2789] ์ ํ ๊ธ์ง (Swift) (0) | 2022.09.21 |