Skip to content

Commit cf79ef4

Browse files
committedJun 6, 2023
#247 - 인사 고과 문제 풀이
1 parent b53cef8 commit cf79ef4

File tree

2 files changed

+39
-0
lines changed

2 files changed

+39
-0
lines changed
 

Diff for: ‎Programmers/Programmers.xcodeproj/project.pbxproj

+4
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
330D91E729A4E10C00E297AD /* 피로도.swift in Sources */ = {isa = PBXBuildFile; fileRef = 330D91E629A4E10C00E297AD /* 피로도.swift */; };
1818
330D91EA29A63AEE00E297AD /* [1차] 뉴스 클러스터링.swift in Sources */ = {isa = PBXBuildFile; fileRef = 330D91E929A63AEE00E297AD /* [1차] 뉴스 클러스터링.swift */; };
1919
330D91EC29A6498400E297AD /* 스킬트리.swift in Sources */ = {isa = PBXBuildFile; fileRef = 330D91EB29A6498400E297AD /* 스킬트리.swift */; };
20+
3315FD0F2A2F78850004F5DD /* 인사고과.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3315FD0E2A2F78850004F5DD /* 인사고과.swift */; };
2021
3316175728DCA81D001DAACE /* 양궁대회.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3316175628DCA81D001DAACE /* 양궁대회.swift */; };
2122
3316175A28DDDCB7001DAACE /* 순위 검색.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3316175928DDDCB7001DAACE /* 순위 검색.swift */; };
2223
33231EC42948A1CE0094B6C2 /* 명예의 전당(1).swift in Sources */ = {isa = PBXBuildFile; fileRef = 33231EC32948A1CE0094B6C2 /* 명예의 전당(1).swift */; };
@@ -240,6 +241,7 @@
240241
330D91E629A4E10C00E297AD /* 피로도.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "피로도.swift"; sourceTree = "<group>"; };
241242
330D91E929A63AEE00E297AD /* [1차] 뉴스 클러스터링.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "[1차] 뉴스 클러스터링.swift"; sourceTree = "<group>"; };
242243
330D91EB29A6498400E297AD /* 스킬트리.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "스킬트리.swift"; sourceTree = "<group>"; };
244+
3315FD0E2A2F78850004F5DD /* 인사고과.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "인사고과.swift"; sourceTree = "<group>"; };
243245
3316175628DCA81D001DAACE /* 양궁대회.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "양궁대회.swift"; sourceTree = "<group>"; };
244246
3316175928DDDCB7001DAACE /* 순위 검색.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "순위 검색.swift"; sourceTree = "<group>"; };
245247
33231EC32948A1CE0094B6C2 /* 명예의 전당(1).swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "명예의 전당(1).swift"; sourceTree = "<group>"; };
@@ -546,6 +548,7 @@
546548
332B1A3129F7E29400795117 /* 순위.swift */,
547549
33A1A3912A00FE9800978136 /* 가장 긴 펠린드롬.swift */,
548550
33A2933D2A13B497003AB775 /* 연속 펄스 부분 수열의 합.swift */,
551+
3315FD0E2A2F78850004F5DD /* 인사고과.swift */,
549552
);
550553
path = level3;
551554
sourceTree = "<group>";
@@ -1015,6 +1018,7 @@
10151018
33AFF51529D2BB3D00D61BD4 /* 보석 쇼핑.swift in Sources */,
10161019
33AFF4DE29CD872800D61BD4 /* Fish.swift in Sources */,
10171020
3399268F29C9DFB700C998C2 /* 숫자 게임.swift in Sources */,
1021+
3315FD0F2A2F78850004F5DD /* 인사고과.swift in Sources */,
10181022
33B3F5C029648752000C7D6F /* 소수 찾기.swift in Sources */,
10191023
33AFF50629D180A800D61BD4 /* 수식 최대화.swift in Sources */,
10201024
337D092D2994DA6600777D9A /* 땅따먹기.swift in Sources */,

Diff for: ‎Programmers/Programmers/level3/인사고과.swift

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
//
2+
// 인사고과.swift
3+
// Programmers1
4+
//
5+
// Created by hwangJi on 2023/06/06.
6+
//
7+
8+
import Foundation
9+
10+
func solution(scores:[[Int]]) -> Int {
11+
let wanhoScore = scores[0]
12+
let sum = wanhoScore[0] + wanhoScore[1]
13+
let scoreArr = scores.sorted(by: { $0[0] > $1[0] || ($0[0] == $1[0] && $0[1] < $1[1]) })
14+
var rank = 1
15+
var colleagueScoreMax = 0
16+
17+
for i in scoreArr {
18+
// 완호가 인센티브를 받지 못하는 경우
19+
if wanhoScore[0] < i[0] && wanhoScore[1] < i[1] {
20+
return -1
21+
}
22+
23+
// 0번은 내림차순으로 내려가므로 1번 점수가(동료점수) 크거나 같을 경우에만 두 점수가 모두 낮지 않음을 의미함
24+
if colleagueScoreMax <= i[1] {
25+
// 완호의 점수보다 더 높다면 상위에 위치한 것이므로 rank + 1
26+
if sum < i[0] + i[1] {
27+
rank += 1
28+
}
29+
30+
colleagueScoreMax = i[1]
31+
}
32+
}
33+
34+
return rank
35+
}

0 commit comments

Comments
 (0)
Please sign in to comment.