어제 설명회에서 자가진단이란 걸 해보라길래.. 해봤는데 재미있었음!
함수 구현하는 문항도 있던데 따로 제출하는 건 아닌듯..?하여
만든 코드가 아까워서 올려봅니다
문제는 아래와 같음.. 긁어와도 되나?
자연수가 들어있는 배열 arr가 매개변수로 주어집니다. 배열 arr안의 숫자들 중에서 앞에 있는 숫자들부터 뒤에 중복되어 나타나는 숫자들 중복 횟수를 계산해서 배열로 return 하도록 solution 함수를 완성해주세요. 만약 중복되는 숫자가 없다면 배열에 -1을 채워서 return 하세요.
▶입출력 예 #1
arr = [1, 2, 3, 3, 3, 3, 4, 4]에서 3은 4번, 4는 2번씩 나타나므로 [4, 2]를 반환합니다.
▶입출력 예 #2
arr = [3, 2, 4, 4, 2, 5, 2, 5, 5]이면 2가 3회, 4가 2회, 5가 3회 나타나므로 [3, 2, 3]를 반환합니다.
▶입출력 예 #3
[3, 5, 7, 9, 1]에서 중복해서 나타나는 숫자는 없으므로 [-1]을 반환합니다.
##### 제한사항
- 배열 arr의 길이는 1 이상 100 이하의 자연수입니다.
- 배열 arr의 원소는 1 이상 100 이하의 자연수입니다.
사용언어는 swift이고,
해시테이블 만들어서 사용함~_~
func overlap(_ arr:[Int]) {
var hash = [Int:Int]()
for i in arr {
if hash[i] == nil {
hash[i] = 1
} else {
hash[i]! += 1
}
}
var isCheck = [Int:Bool]()
var result = [Int]()
for i in arr {
if hash[i]! > 1 && isCheck[i] != true {
result.append(hash[i]!)
isCheck[i] = true
}
}
if result.count == 0 {
result.append(-1)
}
print(result)
}
잘되네요
'이것저것' 카테고리의 다른 글
BGM, 효과음 무료로 다운받는 곳 (0) | 2022.07.09 |
---|---|
비전공자) 7기 부스트캠프 2차 코딩테스트 후기 (4) | 2022.07.02 |
비전공자) 7기 부스트캠프 1차 코딩테스트 후기+결과 (0) | 2022.06.29 |
Angela - Swift Deep Dive 위치 (0) | 2022.05.02 |
유클리드 호제법 - 최대공약수, 최소공배수를 구해보자 (0) | 2022.04.22 |