Swift PS 2주차 🐹

μ„ μ£ΌΒ·2022λ…„ 4μ›” 24일
0

Swift PS

λͺ©λ‘ 보기
2/3

πŸ“§ 11586 μ§€μ˜ κ³΅μ£Όλ‹˜μ˜ λ§ˆλ²• 거울

πŸ“Œ 문제

μ²œλ‚˜λΌ λ―Όν˜Έμ„±μ˜ μ§€μ˜ κ³΅μ£Όλ‹˜μ€ 맀우 아름닡닀. κ³΅μ£Όλ‹˜ μžμ‹ λ„ 이 세상 κ·Έ λˆ„κ΅¬λ³΄λ‹€ μžμ‹ μ΄ μ•„λ¦„λ‹΅λ‹€λŠ” 것을 μ•Œκ³  μžˆλ‹€. κ³΅μ£Όλ‹˜μ€ μžμ‹ μ˜ 아름닀움이 μ„Έμ›”μ˜ μ €νŽΈμœΌλ‘œ μ‚¬λΌμ§€λŠ” 것을 맀우 λ‘λ €μ›Œν•œλ‹€. κ·Έλž˜μ„œ ν•˜λ£¨μ—λ„ μˆ˜μ‹­ 수백 λ²ˆμ”© κ±°μšΈμ„ 보며 μžμ‹ μ˜ λͺ¨μŠ΅μ΄ μ—¬μ „νžˆ μ•„λ¦„λ‹€μš΄μ§€ 확인을 κ±°λ“­ν•œλ‹€. 그러던 μ–΄λŠ λ‚ , μ„Έμƒμ˜ λ‹€μ–‘ν•œ μž₯면듀을 λ‹΄κ³  μ‹Άμ—ˆλ˜ κ³΅μ£Όλ‹˜μ˜ λ§ˆλ²•κ±°μšΈμ€ 맀일 λ˜‘κ°™μ€ λͺ¨μŠ΅λ§Œμ„ λΉ„μΆ”λŠ” μžμ‹ μ˜ 운λͺ…에 μ’Œμ ˆν•˜λ©° μ•žμœΌλ‘œμ˜ 운λͺ…을 κ°œμ²™ν•˜κΈ°λ‘œ κ²°μ‹¬ν–ˆλ‹€. λ§ˆλ²•κ±°μšΈμ€ 맀일 μžμ‹ μ˜ μ‹¬λ¦¬μƒνƒœμ— 따라 κ±°μšΈμ— λΉ„μΉœ κ³΅μ£Όλ‹˜μ˜ λͺ¨μŠ΅μ„ 쒌/우 λ˜λŠ” 상/ν•˜λ‘œ λ°˜μ „μ‹œμΌœ λΉ„μΆ”κΈ°λ‘œ ν•œλ‹€. λ§ˆλ²•κ±°μšΈμ˜ μ‹¬λ¦¬μƒνƒœλŠ” 1λΆ€ν„° 3κΉŒμ§€μ˜ μžμ—°μˆ˜λ‘œ ν‘œν˜„ν•  수 있으며, μˆ«μžκ°€ 클수둝 더 ν™”κ°€ λ‚œ μƒνƒœλ₯Ό μ˜λ―Έν•œλ‹€.

λ§ˆλ²•κ±°μšΈμ˜ μ‹¬λ¦¬μƒνƒœκ°€ 1일 λ•ŒλŠ” μ§€μ˜ κ³΅μ£Όλ‹˜μ˜ λͺ¨μŠ΅μ„ μžˆλŠ” κ·ΈλŒ€λ‘œ ν‘œν˜„ν•˜κ³ , 2일 λ•ŒλŠ” 쒌/우둜 λ°˜μ „λœ λͺ¨μŠ΅μ„, 3일 λ•ŒλŠ” 상/ν•˜λ‘œ λ°˜μ „λœ λͺ¨μŠ΅μ„ ν‘œν˜„ν•œλ‹€.

μ •μ‚¬κ°ν˜• ν˜•νƒœμ˜ λ§ˆλ²•κ±°μšΈμ˜ 크기와 κ±°μšΈμ— λΉ„μΉœ μ§€μ˜ κ³΅μ£Όλ‹˜μ˜ μ›λž˜ λͺ¨μŠ΅, λ§ˆλ²•κ±°μšΈμ˜ μ‹¬λ¦¬μƒνƒœκ°€ μ£Όμ–΄μ‘Œμ„ λ•Œ, λ§ˆλ²•κ±°μšΈμ— λΉ„μΉœ μ§€μ˜ κ³΅μ£Όλ‹˜μ˜ λͺ¨μŠ΅μ„ 좜λ ₯ν•˜λΌ.

μž…λ ₯

첫 번째 쀄에 μ •μ‚¬κ°ν˜• λͺ¨μ–‘μ˜ λ§ˆλ²•κ±°μšΈμ˜ 크기λ₯Ό λ‚˜νƒ€λ‚΄λŠ” μžμ—°μˆ˜ N(2 ≀ N ≀ 100)이 μž…λ ₯λœλ‹€. κ·Έ λ‹€μŒ N개의 쀄에 걸쳐 κ±°μšΈμ— λΉ„μΉœ μ§€μ˜ κ³΅μ£Όλ‹˜μ˜ μ›λž˜ λͺ¨μŠ΅μ΄ 각 쀄에 N개의 문자둜 ν‘œν˜„λœλ‹€. λ§ˆλ²•κ±°μšΈμ€ μ•ŒνŒŒλ²³ λŒ€μ†Œλ¬Έμžλ‘œλ§Œ κ±°μšΈμ— λΉ„μΉœ 상을 ν‘œν˜„ν•  수 μžˆλ‹€. λ§ˆμ§€λ§‰ 쀄에 λ§ˆλ²•κ±°μšΈμ˜ μ‹¬λ¦¬μƒνƒœλ₯Ό λ‚˜νƒ€λ‚΄λŠ” μ •μˆ˜ K(1 ≀ K ≀ 3)κ°€ 주어진닀.

좜λ ₯

λ§ˆλ²•κ±°μšΈμ˜ μ‹¬λ¦¬μƒνƒœμ— 따라 κ±°μšΈμ— λΉ„μΉœ μ§€μ˜κ³΅μ£Όλ‹˜μ˜ λͺ¨μŠ΅μ„ NΓ—N크기의 μ •μ‚¬κ°ν˜• ν˜•νƒœλ‘œ 좜λ ₯ν•˜λΌ. λ°˜μ „λœ λͺ¨μŠ΅μ€ μž…λ ₯으둜 주어진 문자의 μœ„μΉ˜λ₯Ό λ°˜μ „μ‹œν‚€λŠ” 것을 μ˜λ―Έν•œλ‹€.

예제 μž…λ ₯ 1

8
OOOOOOOO
OKKOOEEO
OKKOOEEO
OOOSSOOO
OOOSSOOO
OAOOOOAO
OOAAAAOO
OOOOOOOO
3

예제 좜λ ₯ 1

OOOOOOOO
OOAAAAOO
OAOOOOAO
OOOSSOOO
OOOSSOOO
OKKOOEEO
OKKOOEEO
OOOOOOOO

πŸ“Œ 풀이

πŸ’¬ Code

let n = Int(String(readLine()!))!
var mirror = [String]()
for _ in 0..<n {
  mirror.append(readLine()!)
}
let state = Int(String(readLine()!))!

switch state {
  case 1:
    for i in mirror {
      print(i)
    }
  case 2:
    for i in mirror {
      print(String(i.reversed()))
    }
  case 3:
    for i in mirror.reversed() {
      print(i)
    }
  default:
    print("")
}

πŸ’‘ Comment

이차원 배열을 처음 μž…λ ₯λ°›μ•„λ΄€λ‹€ ν‘Έν•­ν•­ γ…‹ 별 κ±° μ•„λ‹ˆλ„€ ~




πŸ“§ 2941 ν¬λ‘œμ•„ν‹°μ•„ μ•ŒνŒŒλ²³

πŸ“Œ 문제

μ˜ˆμ „μ—λŠ” μš΄μ˜μ²΄μ œμ—μ„œ ν¬λ‘œμ•„ν‹°μ•„ μ•ŒνŒŒλ²³μ„ μž…λ ₯ν•  μˆ˜κ°€ μ—†μ—ˆλ‹€. λ”°λΌμ„œ, λ‹€μŒκ³Ό 같이 ν¬λ‘œμ•„ν‹°μ•„ μ•ŒνŒŒλ²³μ„ λ³€κ²½ν•΄μ„œ μž…λ ₯ν–ˆλ‹€.

ν¬λ‘œμ•„ν‹°μ•„ μ•ŒνŒŒλ²³λ³€κ²½
čc=
Δ‡c-
dΕΎdz=
Δ‘d-
ljlj
njnj
Ε‘s=
ΕΎz=

예λ₯Ό λ“€μ–΄, ljes=njak은 ν¬λ‘œμ•„ν‹°μ•„ μ•ŒνŒŒλ²³ 6개(lj, e, Ε‘, nj, a, k)둜 이루어져 μžˆλ‹€. 단어가 μ£Όμ–΄μ‘Œμ„ λ•Œ, λͺ‡ 개의 ν¬λ‘œμ•„ν‹°μ•„ μ•ŒνŒŒλ²³μœΌλ‘œ 이루어져 μžˆλŠ”μ§€ 좜λ ₯ν•œλ‹€.

dΕΎλŠ” 무쑰건 ν•˜λ‚˜μ˜ μ•ŒνŒŒλ²³μœΌλ‘œ 쓰이고, d와 ΕΎκ°€ λΆ„λ¦¬λœ κ²ƒμœΌλ‘œ 보지 μ•ŠλŠ”λ‹€. lj와 nj도 λ§ˆμ°¬κ°€μ§€μ΄λ‹€. μœ„ λͺ©λ‘μ— μ—†λŠ” μ•ŒνŒŒλ²³μ€ ν•œ κΈ€μžμ”© μ„Όλ‹€.

μž…λ ₯

첫째 쀄에 μ΅œλŒ€ 100κΈ€μžμ˜ 단어가 주어진닀. μ•ŒνŒŒλ²³ μ†Œλ¬Έμžμ™€ '-', '='둜만 이루어져 μžˆλ‹€.

λ‹¨μ–΄λŠ” ν¬λ‘œμ•„ν‹°μ•„ μ•ŒνŒŒλ²³μœΌλ‘œ 이루어져 μžˆλ‹€. 문제 μ„€λͺ…μ˜ ν‘œμ— λ‚˜μ™€μžˆλŠ” μ•ŒνŒŒλ²³μ€ λ³€κ²½λœ ν˜•νƒœλ‘œ μž…λ ₯λœλ‹€.

좜λ ₯

μž…λ ₯으둜 주어진 단어가 λͺ‡ 개의 ν¬λ‘œμ•„ν‹°μ•„ μ•ŒνŒŒλ²³μœΌλ‘œ 이루어져 μžˆλŠ”μ§€ 좜λ ₯ν•œλ‹€.

예제 μž…λ ₯ 1

ljes=njak

예제 좜λ ₯ 1

6

예제 μž…λ ₯ 2

ddz=z=

예제 좜λ ₯ 2

3

예제 μž…λ ₯ 3

nljj

예제 좜λ ₯ 3

3

예제 μž…λ ₯ 4

c=c=

예제 좜λ ₯ 4

2

예제 μž…λ ₯ 5

dz=ak

예제 좜λ ₯ 5

3

πŸ“Œ 풀이

πŸ’¬ Code

import Foundation

var input = readLine()!
let dic = ["c=", "c-", "dz=", "d-", "lj", "nj", "s=", "z="]

for i in dic {
  input = input.replacingOccurrences(of: i, with: "1")
}

print(input.count)

πŸ’‘ Comment




πŸ“§ 1357 λ’€μ§‘νžŒ λ§μ…ˆ

πŸ“Œ 문제

μ–΄λ–€ 수 Xκ°€ μ£Όμ–΄μ‘Œμ„ λ•Œ, X의 λͺ¨λ“  μžλ¦¬μˆ˜κ°€ μ—­μˆœμ΄ 된 수λ₯Ό 얻을 수 μžˆλ‹€. Rev(X)λ₯Ό X의 λͺ¨λ“  자리수λ₯Ό μ—­μˆœμœΌλ‘œ λ§Œλ“œλŠ” ν•¨μˆ˜λΌκ³  ν•˜μž. 예λ₯Ό λ“€μ–΄, X=123일 λ•Œ, Rev(X) = 321이닀. 그리고, X=100일 λ•Œ, Rev(X) = 1이닀.

두 μ–‘μ˜ μ •μˆ˜ X와 Yκ°€ μ£Όμ–΄μ‘Œμ„ λ•Œ, Rev(Rev(X) + Rev(Y))λ₯Ό κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€.

μž…λ ₯

첫째 쀄에 수 X와 Yκ°€ 주어진닀. X와 YλŠ” 1,000보닀 μž‘κ±°λ‚˜ 같은 μžμ—°μˆ˜μ΄λ‹€.

좜λ ₯

첫째 쀄에 문제의 정닡을 좜λ ₯ν•œλ‹€.

예제 μž…λ ₯ 1

123 100

예제 좜λ ₯ 1

223

예제 μž…λ ₯ 2

111 111

예제 좜λ ₯ 2

222

예제 μž…λ ₯ 3

5 5

예제 좜λ ₯ 3

1

예제 μž…λ ₯ 4

1000 1

예제 좜λ ₯ 4

2

예제 μž…λ ₯ 5

456 789

예제 좜λ ₯ 5

1461

πŸ“Œ 풀이

πŸ’¬ Code

let nums = readLine()!.split(separator: " ").map { Int(String($0.reversed()))! }
print(Int(String(String(nums[0] + nums[1]).reversed()))!)

πŸ’‘ Comment




πŸ“§ 1259 νŒ°λ¦°λ“œλ‘¬μˆ˜

πŸ“Œ 문제

μ–΄λ–€ 단어λ₯Ό λ’€μ—μ„œλΆ€ν„° 읽어도 λ˜‘κ°™λ‹€λ©΄ κ·Έ 단어λ₯Ό νŒ°λ¦°λ“œλ‘¬μ΄λΌκ³  ν•œλ‹€. 'radar', 'sees'λŠ” νŒ°λ¦°λ“œλ‘¬μ΄λ‹€.

μˆ˜λ„ νŒ°λ¦°λ“œλ‘¬μœΌλ‘œ μ·¨κΈ‰ν•  수 μžˆλ‹€. 수의 μˆ«μžλ“€μ„ λ’€μ—μ„œλΆ€ν„° 읽어도 κ°™λ‹€λ©΄ κ·Έ μˆ˜λŠ” νŒ°λ¦°λ“œλ‘¬μˆ˜λ‹€. 121, 12421 등은 νŒ°λ¦°λ“œλ‘¬μˆ˜λ‹€. 123, 1231은 λ’€μ—μ„œλΆ€ν„° 읽으면 λ‹€λ₯΄λ―€λ‘œ νŒ°λ¦°λ“œλ‘¬μˆ˜κ°€ μ•„λ‹ˆλ‹€. λ˜ν•œ 10도 νŒ°λ¦°λ“œλ‘¬μˆ˜κ°€ μ•„λ‹Œλ°, μ•žμ— λ¬΄μ˜λ―Έν•œ 0이 올 수 μžˆλ‹€λ©΄ 010이 λ˜μ–΄ νŒ°λ¦°λ“œλ‘¬μˆ˜λ‘œ μ·¨κΈ‰ν•  μˆ˜λ„ μžˆμ§€λ§Œ, νŠΉλ³„νžˆ 이번 λ¬Έμ œμ—μ„œλŠ” λ¬΄μ˜λ―Έν•œ 0이 μ•žμ— 올 수 μ—†λ‹€κ³  ν•˜μž.

μž…λ ₯

μž…λ ₯은 μ—¬λŸ¬ 개의 ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€λ‘œ 이루어져 있으며, 각 μ€„λ§ˆλ‹€ 1 이상 99999 μ΄ν•˜μ˜ μ •μˆ˜κ°€ 주어진닀. μž…λ ₯의 λ§ˆμ§€λ§‰ μ€„μ—λŠ” 0이 주어지며, 이 쀄은 λ¬Έμ œμ— ν¬ν•¨λ˜μ§€ μ•ŠλŠ”λ‹€.

좜λ ₯

각 μ€„λ§ˆλ‹€ 주어진 μˆ˜κ°€ νŒ°λ¦°λ“œλ‘¬μˆ˜λ©΄ 'yes', μ•„λ‹ˆλ©΄ 'no'λ₯Ό 좜λ ₯ν•œλ‹€.

예제 μž…λ ₯ 1

121
1231
12421
0

예제 좜λ ₯ 1

yes
no
yes

πŸ“Œ 풀이

πŸ’¬ Code

while true {
  let num = readLine()!
  if num == "0" {
    break
  } else if num == String(num.reversed()) {
    print("yes")
  } else {
    print("no")
  }
}

πŸ’‘ Comment




πŸ“§ 1100 ν•˜μ–€ μΉΈ

πŸ“Œ 문제

μ²΄μŠ€νŒμ€ 8Γ—8크기이고, κ²€μ • μΉΈκ³Ό ν•˜μ–€ 칸이 λ²ˆκ°ˆμ•„κ°€λ©΄μ„œ μƒ‰μΉ λ˜μ–΄ μžˆλ‹€. κ°€μž₯ μ™Όμͺ½ μœ„μΉΈ (0,0)은 ν•˜μ–€μƒ‰μ΄λ‹€. 체슀판의 μƒνƒœκ°€ μ£Όμ–΄μ‘Œμ„ λ•Œ, ν•˜μ–€ μΉΈ μœ„μ— 말이 λͺ‡ 개 μžˆλŠ”μ§€ 좜λ ₯ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€.

μž…λ ₯

첫째 쀄뢀터 8개의 쀄에 체슀판의 μƒνƒœκ°€ 주어진닀. β€˜.’은 빈 칸이고, β€˜Fβ€™λŠ” μœ„μ— 말이 μžˆλŠ” 칸이닀.

좜λ ₯

첫째 쀄에 문제의 정닡을 좜λ ₯ν•œλ‹€.

예제 μž…λ ₯ 1

.F.F...F
F...F.F.
...F.F.F
F.F...F.
.F...F..
F...F.F.
.F.F.F.F
..FF..F.

예제 좜λ ₯ 1

1

예제 μž…λ ₯ 2

........
........
........
........
........
........
........
........

예제 좜λ ₯ 2

0

예제 μž…λ ₯ 3

FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF

예제 좜λ ₯ 3

32

예제 μž…λ ₯ 4

........
..F.....
.....F..
.....F..
........
........
.......F
.F......

예제 좜λ ₯ 4

2

πŸ“Œ 풀이

πŸ’¬ Code

var board = [[String]]()
var cnt = 0

for i in 0...7 {
  board.append(readLine()!.map { String($0) })
  if i % 2 == 0 {
    for j in stride(from: 0, to: 7, by: 2) {
      if board[i][j] == "F" {
        cnt += 1
      }
    }
  } else {
    for j in stride(from: 1, to: 8, by: 2) {
      if board[i][j] == "F" {
        cnt += 1
      }
    }
  }
}
print(cnt)

πŸ’‘ Comment




πŸ“§ 1302 λ² μŠ€νŠΈμ…€λŸ¬

πŸ“Œ 문제

κΉ€ν˜•νƒμ€ νƒ‘λ¬Έκ³ μ˜ 직원이닀. κΉ€ν˜•νƒμ€ κ³„μ‚°λŒ€μ—μ„œ 계산을 ν•˜λŠ” 직원이닀. κΉ€ν˜•νƒμ€ κ·Έλ‚  근무가 λλ‚œ 후에, 였늘 νŒλ§€ν•œ μ±…μ˜ 제λͺ©μ„ λ³΄λ©΄μ„œ κ°€μž₯ 많이 νŒ”λ¦° μ±…μ˜ 제λͺ©μ„ μΉ νŒμ— μ¨λ†“λŠ” 일도 같이 ν•˜κ³  μžˆλ‹€.

였늘 ν•˜λ£¨ λ™μ•ˆ νŒ”λ¦° μ±…μ˜ 제λͺ©μ΄ μž…λ ₯으둜 듀어왔을 λ•Œ, κ°€μž₯ 많이 νŒ”λ¦° μ±…μ˜ 제λͺ©μ„ 좜λ ₯ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€.

μž…λ ₯

첫째 쀄에 였늘 ν•˜λ£¨ λ™μ•ˆ νŒ”λ¦° μ±…μ˜ 개수 N이 주어진닀. 이 값은 1,000보닀 μž‘κ±°λ‚˜ 같은 μžμ—°μˆ˜μ΄λ‹€. λ‘˜μ§ΈλΆ€ν„° N개의 쀄에 μ±…μ˜ 제λͺ©μ΄ μž…λ ₯으둜 λ“€μ–΄μ˜¨λ‹€. μ±…μ˜ 제λͺ©μ˜ κΈΈμ΄λŠ” 50보닀 μž‘κ±°λ‚˜ κ°™κ³ , μ•ŒνŒŒλ²³ μ†Œλ¬Έμžλ‘œλ§Œ 이루어져 μžˆλ‹€.

좜λ ₯

첫째 쀄에 κ°€μž₯ 많이 νŒ”λ¦° μ±…μ˜ 제λͺ©μ„ 좜λ ₯ν•œλ‹€. λ§Œμ•½ κ°€μž₯ 많이 νŒ”λ¦° 책이 μ—¬λŸ¬ 개일 κ²½μš°μ—λŠ” 사전 순으둜 κ°€μž₯ μ•žμ„œλŠ” 제λͺ©μ„ 좜λ ₯ν•œλ‹€.

예제 μž…λ ₯ 1

5
top
top
top
top
kimtop

예제 좜λ ₯ 1

top

예제 μž…λ ₯ 2

9
table
chair
table
table
lamp
door
lamp
table
chair

예제 좜λ ₯ 2

table

예제 μž…λ ₯ 3

6
a
a
a
b
b
b

예제 좜λ ₯ 3

a

예제 μž…λ ₯ 4

8
icecream
peanuts
peanuts
chocolate
candy
chocolate
icecream
apple

예제 좜λ ₯ 4

chocolate

예제 μž…λ ₯ 5

1
soul

예제 좜λ ₯ 5

soul

πŸ“Œ 풀이

πŸ’¬ Code

let n = Int(String(readLine()!))!
var dict = [String: Int]()

for _ in 0..<n {
  let book = readLine()!
  dict[book] = (dict[book] ?? 0) + 1
}

let ans = dict.sorted { $0.value == $1.value ? $0.key < $1.key : $0.value > $1.value }
print(ans.first!.key)

πŸ’‘ Comment




πŸ“§ 11536 쀄 μ„Έμš°κΈ°

πŸ“Œ 문제

μ•…λ…ν•œ μ½”μΉ˜ μ£Όν˜μ€ μ„ μˆ˜λ“€μ„ 이름 순으둜 μ„Έμš°λŠ” 것을 μ’‹μ•„ν•œλ‹€. 더 μ•…λ…ν•œ 것은 μ–΄λ–€ μˆœμ„œλ‘œ μ„œμ•Όν• μ§€λ„ μ•Œλ €μ£Όμ§€ μ•Šμ•˜λ‹€! μ„ μˆ˜λ“€μ˜ 이름이 μ£Όμ–΄μ§ˆ λ•Œ μ–΄λ–€ μˆœμ„œλ‘œ μ΄λ£¨μ–΄μ ΈμžˆλŠ”μ§€ ν™•μΈν•΄λ³΄μž.

μž…λ ₯

첫째 쀄에 N개의 이름이 주어진닀. (2 ≀ N ≀ 20)

λ‹€μŒ N개의 μ€„μ—λŠ” 각 μ„ μˆ˜λ“€μ˜ 이름이 주어진닀. 이름은 2 이상 12 μ΄ν•˜μ˜ λŒ€λ¬Έμžλ‘œλ§Œ μ΄λ£¨μ–΄μ Έμžˆλ‹€. μ„ μˆ˜μ˜ 이름은 μ€‘λ³΅λ˜μ§€ μ•ŠλŠ”λ‹€.

좜λ ₯

이름이 μ¦κ°€ν•˜λŠ” 순으둜 λ‚˜νƒ€λ‚˜λ©΄ INCREASING, κ°μ†Œν•˜λŠ” 순이면 DECREASING을 ν•œ 쀄에 좜λ ₯ν•œλ‹€. λ§Œμ•½ μœ„μ˜ 두 κ²½μš°κ°€ μ•„λ‹ˆλΌλ©΄ NEITHERλ₯Ό 좜λ ₯ν•œλ‹€.

예제 μž…λ ₯ 1

5
JOE
BOB
ANDY
AL
ADAM

예제 좜λ ₯ 1

DECREASING

예제 μž…λ ₯ 2

11
HOPE
ALI
BECKY
JULIE
MEGHAN
LAUREN
MORGAN
CARLI
MEGAN
ALEX
TOBIN

예제 좜λ ₯ 2

NEITHER

예제 μž…λ ₯ 3

4
GEORGE
JOHN
PAUL
RINGO

예제 좜λ ₯ 3

INCREASING

πŸ“Œ 풀이

πŸ’¬ Code

let n = Int(String(readLine()!))!
var player = [String]()

for _ in 0..<n {
  player.append(readLine()!)
}

if player == player.sorted(by: >) {
  print("DECREASING")
} else if player == player.sorted(by: <) {
  print("INCREASING")
} else {
  print("NEITHER")
}

πŸ’‘ Comment




πŸ“§ 2789 μœ ν•™ κΈˆμ§€

πŸ“Œ 문제

μ•„μ£Ό 멀리 λ–¨μ–΄μ Έ μžˆλŠ” μž‘μ€ λ‚˜λΌκ°€ μžˆλ‹€. 이 λ‚˜λΌμ—μ„œ κ°€μž₯ 곡뢀λ₯Ό μž˜ν•˜λŠ” 학생듀은 λͺ¨λ‘ λ‹€λ₯Έ λ‚˜λΌλ‘œ μœ ν•™μ„ κ°„λ‹€. μ •λΆ€λŠ” 졜고의 학생듀이 자꾸 μœ ν•™μ„ κ°€λŠ” 이유λ₯Ό 찾으렀고 ν–ˆλ‹€. ν•˜μ§€λ§Œ, ν•™μƒλ“€μ˜ μ΄μœ κ°€ λͺ¨λ‘ λ‹¬λžκΈ° λ•Œλ¬Έμ— μ •ν™•ν•œ 이유λ₯Ό 찾을 수 μ—†μ—ˆλ‹€. μ •λΆ€μ˜ κ³ μœ„μ§μ€ λ›°μ–΄λ‚œ 학생듀이 자꾸 μœ ν•™μ„ κ°€λŠ” ν˜„μƒμ„ 맀우 λΆˆμΎŒν•΄ ν–ˆλ‹€.

κ°€μž₯ λ§Žμ€ 학생듀이 μœ ν•™μ„ κ°€λŠ” λŒ€ν•™κ΅λŠ” 영ꡭ의 μΊ λΈŒλ¦¬μ§€ λŒ€ν•™κ΅μ΄λ‹€. μ •λΆ€λŠ” 인터넷 검열을 ν†΅ν•΄μ„œ ν•΄μ™Έλ‘œ λ‚˜κ°€λŠ” μ΄λ©”μΌμ˜ λ‚΄μš© 쀑 일뢀λ₯Ό μ‚­μ œν•˜κΈ°λ‘œ ν–ˆλ‹€. μ΄λ©”μΌμ˜ 각 단어 μ€‘μ—μ„œ CAMBRIDGE에 ν¬ν•¨λœ μ•ŒνŒŒλ²³μ€ λͺ¨λ‘ μ§€μš°κΈ°λ‘œ ν–ˆλ‹€. 즉, μ–΄λ–€ 이메일에 LOVAλž€ 단어가 μžˆλ‹€λ©΄, AλŠ” CAMBRIDGE에 ν¬ν•¨λœ μ•ŒνŒŒλ²³μ΄κΈ° λ•Œλ¬Έμ—, λ°›μ•„λ³΄λŠ” μ‚¬λžŒμ€ LOV둜 λ°›λŠ”λ‹€.

μ΄λ ‡κ²Œ, μ–΄λ–€ 단어가 μ£Όμ–΄μ‘Œμ„ λ•Œ, 검열을 거친 ν›„μ—λŠ” μ–΄λ–€ 단어가 λ˜λŠ”μ§€ κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€.

μž…λ ₯

첫째 쀄에 μ•ŒνŒŒλ²³ λŒ€λ¬Έμžλ‘œ 이루어진 단어가 주어진닀. 이 λ‹¨μ–΄λŠ” 적어도 3κΈ€μžμ΄λ©°, λ§Žμ•„μ•Ό 100κΈ€μžμ΄λ‹€.

좜λ ₯

μž…λ ₯으둜 주어진 단어λ₯Ό μ •λΆ€κ°€ 검열을 ν•˜λ©΄ μ–΄λ–»κ²Œ λ³€ν•˜λŠ”μ§€λ₯Ό 좜λ ₯ν•œλ‹€. 즉, λ‹¨μ–΄μ—μ„œ CAMBRIDGE에 ν¬ν•¨λœ μ•ŒνŒŒλ²³μ„ λͺ¨λ‘ μ§€μš΄ λ’€ 좜λ ₯ν•œλ‹€. 항상 μ •λ‹΅μ˜ κΈΈμ΄λŠ” 0보닀 크닀.

예제 μž…λ ₯ 1

LOVA

예제 좜λ ₯ 1

LOV

예제 μž…λ ₯ 2

KARIJERA

예제 좜λ ₯ 2

KJ

πŸ“Œ 풀이

πŸ’¬ Code

let mail = readLine()!
let univ = ["C", "A", "M", "B", "R", "I", "D", "G", "E"]

for char in mail {
  if univ.contains(String(char)) == false {
    print(char, terminator: "")
  }
}

πŸ’‘ Comment




profile
κΈ°λ‘ν•˜λŠ” 개발자 πŸ‘€

0개의 λŒ“κΈ€