Skip to content

Commit f70832d

Browse files
committed
programmers: 파일명 정렬:
1 parent f4e95fb commit f70832d

File tree

4 files changed

+67
-30
lines changed

4 files changed

+67
-30
lines changed

Toni/Programmers/Programmers.xcodeproj/project.pbxproj

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
538B007D28336CCE00CB2EC7 /* [Toni] Tuple.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538B007C28336CCE00CB2EC7 /* [Toni] Tuple.swift */; };
2525
539883DC285B323000937D9F /* [Toni] Bracket Transform .swift in Sources */ = {isa = PBXBuildFile; fileRef = 539883DB285B323000937D9F /* [Toni] Bracket Transform .swift */; };
2626
539AFEEC28CB675500D144E7 /* [Toni] Get Prime Number.swift in Sources */ = {isa = PBXBuildFile; fileRef = 539AFEEB28CB675500D144E7 /* [Toni] Get Prime Number.swift */; };
27+
53A433F128D5CEDA005E0F46 /* [Toni] File Name Sort.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53A433F028D5CEDA005E0F46 /* [Toni] File Name Sort.swift */; };
2728
53A65DD0284A4B6700D0DE1B /* [Toni] Archery.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53A65DCF284A4B6700D0DE1B /* [Toni] Archery.swift */; };
2829
53AC183C28082C1400EF381D /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53AC183B28082C1400EF381D /* main.swift */; };
2930
53AC184528083EB400EF381D /* [Toni] Get Report Result.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53AC184428083EB400EF381D /* [Toni] Get Report Result.swift */; };
@@ -72,6 +73,7 @@
7273
538B007C28336CCE00CB2EC7 /* [Toni] Tuple.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "[Toni] Tuple.swift"; sourceTree = "<group>"; };
7374
539883DB285B323000937D9F /* [Toni] Bracket Transform .swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "[Toni] Bracket Transform .swift"; sourceTree = "<group>"; };
7475
539AFEEB28CB675500D144E7 /* [Toni] Get Prime Number.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "[Toni] Get Prime Number.swift"; sourceTree = "<group>"; };
76+
53A433F028D5CEDA005E0F46 /* [Toni] File Name Sort.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "[Toni] File Name Sort.swift"; sourceTree = "<group>"; };
7577
53A65DCF284A4B6700D0DE1B /* [Toni] Archery.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "[Toni] Archery.swift"; sourceTree = "<group>"; };
7678
53AC183828082C1400EF381D /* Programmers */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = Programmers; sourceTree = BUILT_PRODUCTS_DIR; };
7779
53AC183B28082C1400EF381D /* main.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = main.swift; sourceTree = "<group>"; };
@@ -154,6 +156,7 @@
154156
535DD54028CCDE880039F7AE /* [Toni] Zip.swift */,
155157
53D5DBF828CDF1EB008029CB /* [Toni] Decimal Game.swift */,
156158
53D5DBFA28CE00E7008029CB /* [Toni] Ilegal User.swift */,
159+
53A433F028D5CEDA005E0F46 /* [Toni] File Name Sort.swift */,
157160
);
158161
path = Programmers;
159162
sourceTree = "<group>";
@@ -245,6 +248,7 @@
245248
535DD53B28CC99620039F7AE /* [Toni] Menu Renewal.swift in Sources */,
246249
53AC183C28082C1400EF381D /* main.swift in Sources */,
247250
53805E632812D2E7006AC65A /* [Toni] training clothes.swift in Sources */,
251+
53A433F128D5CEDA005E0F46 /* [Toni] File Name Sort.swift in Sources */,
248252
53D65A1728C9F3A500F3128A /* [Toni] Parking Fee Calculation.swift in Sources */,
249253
53D65A0B28C8690D00F3128A /* [Toni] Personality Test.swift in Sources */,
250254
53A65DD0284A4B6700D0DE1B /* [Toni] Archery.swift in Sources */,
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
//
2+
// [Toni] File Name Sort.swift
3+
// Programmers
4+
//
5+
// Created by Sunwoo on 2022/09/17.
6+
//
7+
8+
import Foundation
9+
10+
func solution33(_ files:[String]) -> [String] {
11+
var filesArr: [[String]] = []
12+
13+
for file in files {
14+
var str = ""
15+
var strArr: [String] = []
16+
for c in file {
17+
if strArr.count == 2 {
18+
str += String(c)
19+
continue
20+
}
21+
22+
if c.isLetter || c.isPunctuation || c.isMathSymbol || c.isWhitespace {
23+
if strArr.count == 1 {
24+
strArr.append(str)
25+
str = ""
26+
}
27+
28+
str += String(c)
29+
} else if c.isNumber {
30+
if !str.isEmpty && str.first!.isLetter {
31+
strArr.append(str)
32+
str = ""
33+
}
34+
str += String(c)
35+
}
36+
}
37+
strArr.append(str)
38+
filesArr.append(strArr)
39+
}
40+
41+
let results = filesArr.sorted { fir, sec in
42+
if fir[0].lowercased() != sec[0].lowercased() {
43+
return fir[0].lowercased() < sec[0].lowercased()
44+
} else if Int(fir[1])! != Int(sec[1])! {
45+
return Int(fir[1])! < Int(sec[1])!
46+
}
47+
48+
return false
49+
}
50+
51+
var answer: [String] = []
52+
53+
for result in results {
54+
var str = ""
55+
for res in result {
56+
str += res
57+
}
58+
answer.append(str)
59+
}
60+
61+
return answer
62+
}

Toni/Programmers/Programmers/[Toni] Menu Renewal.swift

Lines changed: 1 addition & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -8,36 +8,7 @@
88
import Foundation
99

1010
func solution27(_ orders:[String], _ course:[Int]) -> [String] {
11-
var set = [String: Int]()
12-
13-
func dfs(index: Int, origin: [Character], newString: String) {
14-
if course.last! < newString.count {
15-
return
16-
}
17-
18-
if course.contains(newString.count) {
19-
if set.keys.contains(newString) {
20-
set[newString]! += 1
21-
} else {
22-
set[newString] = 1
23-
}
24-
}
25-
26-
for i in index..<origin.count {
27-
let c = origin[i]
28-
dfs(index: i+1, origin: origin, newString: "\(newString)\(c)")
29-
}
30-
}
31-
32-
for order in orders {
33-
let order = order.sorted()
34-
dfs(index: 0, origin: order, newString: "")
35-
print("order = \(order), set = \(set)")
36-
print("----------------------")
37-
}
38-
39-
40-
11+
4112

4213
return []
4314
}

0 commit comments

Comments
 (0)