씬디의 블로그

[백준] 개수 세기 10813 Swift 본문

Algorithm/Baekjoon

[백준] 개수 세기 10813 Swift

cyndi 2023. 12. 1. 22:12

문제: https://www.acmicpc.net/problem/10807

 

10807번: 개수 세기

첫째 줄에 정수의 개수 N(1 ≤ N ≤ 100)이 주어진다. 둘째 줄에는 정수가 공백으로 구분되어져있다. 셋째 줄에는 찾으려고 하는 정수 v가 주어진다. 입력으로 주어지는 정수와 v는 -100보다 크거

www.acmicpc.net

총 N개의 정수가 주어졌을 때, 정수 v가 몇 개인지 구하는 프로그램을 작성하시오.

원래는

readLine()!.components(separatedBy: " ")

이렇게 길게 쓰다가 

readLine()!.split(separator: " ")

더 짧게 쓸 수 있는 방법을 찾고선 갈아탔다!

 

3번째 입력되는 수가 2번째 입력되는 수 중에 몇개가 속하는지 찾으면 되기 때문에

고차함수 map을 사용했다

 

근데 난 여기서 의문인게,,

첫번째 입력값은 결과값이랑 전혀 연관없이 입력만 받는 꼭두각시 느낌인데

문제처럼 첫째 줄에 입력으로 주어진 N개의 정수 중에 를 적용시키고싶다

어떻게 해야하지?

 

물론 아래처럼 해도 정답이긴 하지만,,

첫 째줄에 입력받은 수만큼 for문을 돌리면 그것도 방법이긴 하겠지만

for 수 만큼 계속 입력받는게 아니라 3줄 입력받으면 끝나게끔 하고싶은데

 

여러 코드 작성해봐야겠다!

import Foundation

func solution10807() {
    let _ = Int(readLine()!)!
    let secInput = readLine()!.split(separator: " ").map{ Int($0)! }
    let thiInput = Int(readLine()!)!
    
    print(secInput.filter( { $0 == thiInput }).count)
    
    
}

 

 

[고차함수 map]

2023.11.30 - [Swift] - [Swift] 고차함수 map

 

[Swift] 고차함수 map

Swift [고차함수 1편 reduce 관련 글] 2023.11.30 - [Swift] - [Swift] 고차함수 reduce [Swift] 고차함수 reduce Swift reduce를 알기 전에 우선 고차함수란 무엇일까 [고차함수 ] 고차함수는 다른 함수를 전달인자로

cyndi0330.tistory.com