728x90
https://softeer.ai/practice/7698
Softeer - 현대자동차그룹 SW인재확보플랫폼
softeer.ai
문자열?
점수 배열 입력 받아서 5점은 ++++로 표현, 남은 1점들은 | 로 표현하여 출력하는 문제
접근방법
우선 스위프트로 입력받아서 푸는 문제 오랜만이라 readLine하는 것 부터 찾아보고 풀었다 (https://didu-story.tistory.com/177 참고)
그리고 map과 forEach를 활용해서
점수를 5로 나눈 값과 그 나머지를 계산해서 ++++ 를 붙이고, | 를 붙여서 문자열로 저장한 뒤 배열에 넣고
배열을 출력하기
+ ++++ 마지막에 띄어쓰기 출력할 때 제외하고 출력해야하나 싶었는데 다행히 빈칸 뒤에 남겨도 통과 됐다
소스코드
// input
let T = Int(readLine()!)!
var inputs:[Int] = []
for _ in 0..<T {
let input = Int(readLine()!)!
inputs.append(input)
}
// process
var results:[String] = []
let five:String = "++++ "
let one:String = "|"
results = inputs.map { score in
var str_score:String = ""
let fiveCnt = score/5;
let oneCnt = score%5;
for _ in 0..<fiveCnt {
str_score += (five)
}
for _ in 0..<oneCnt {
str_score += one
}
return str_score
}
results.forEach { print($0) }
스위프트 고차함수 쓰면 코드 간결해지는거 너무 좋음
728x90
'알고리즘 문제풀이' 카테고리의 다른 글
[Softeer] Pipelined (Swift) (1) | 2025.02.05 |
---|---|
[Softeer] Yeah, but How? (Swift) (0) | 2025.02.04 |
[softeer] GPT식 숫자비교 (C++) (1) | 2025.02.04 |
[프로그래머스] 방의 개수 (Swift) (0) | 2025.02.03 |
[프로그래머스] 퍼즐 조각 채우기 (Swift) (0) | 2025.01.16 |