質問編集履歴
6
解決しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -70,6 +70,8 @@
|
|
70
70
|
|
71
71
|
ご回答よろしくお願いいたします。
|
72
72
|
|
73
|
+
アドバイスをいただき解決しました。
|
74
|
+
|
73
75
|
```アドバイスをいただき解決したコード
|
74
76
|
let n = Int(readLine()!)!
|
75
77
|
|
5
解決しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -68,4 +68,45 @@
|
|
68
68
|
としてもうまくいきませんでした。
|
69
69
|
|
70
70
|
|
71
|
-
ご回答よろしくお願いいたします。
|
71
|
+
ご回答よろしくお願いいたします。
|
72
|
+
|
73
|
+
```アドバイスをいただき解決したコード
|
74
|
+
let n = Int(readLine()!)!
|
75
|
+
|
76
|
+
var hb = [(String,String)]()//ユーザー名と血液型をタプルで格納する配列
|
77
|
+
var bf = [(String,String)]()//血液型と占い結果をタプルで格納する配列
|
78
|
+
|
79
|
+
for _ in 0..<n{
|
80
|
+
|
81
|
+
let tmp = readLine()!.split(separator: " ")
|
82
|
+
|
83
|
+
let user = String(tmp[0])
|
84
|
+
let blood = String(tmp[1])
|
85
|
+
|
86
|
+
hb.append((user,blood))
|
87
|
+
|
88
|
+
}
|
89
|
+
|
90
|
+
let m = Int(readLine()!)!
|
91
|
+
|
92
|
+
for _ in 0..<m{
|
93
|
+
|
94
|
+
let tmp = readLine()!.split(separator: " ")
|
95
|
+
|
96
|
+
let blood = String(tmp[0])
|
97
|
+
let fortune = String(tmp[1])
|
98
|
+
|
99
|
+
bf.append((blood,fortune))
|
100
|
+
|
101
|
+
}
|
102
|
+
|
103
|
+
|
104
|
+
for i in hb{
|
105
|
+
for ii in bf{
|
106
|
+
if i.1 == ii.0{
|
107
|
+
print("(i.0) (ii.1)")
|
108
|
+
}
|
109
|
+
}
|
110
|
+
}
|
111
|
+
|
112
|
+
```
|
4
コードの編集をしました
title
CHANGED
File without changes
|
body
CHANGED
@@ -31,6 +31,7 @@
|
|
31
31
|
kai yellow
|
32
32
|
このような出力結果にしたいです。
|
33
33
|
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
|
34
|
+
途中経過
|
34
35
|
```swift
|
35
36
|
|
36
37
|
let n = Int(readLine()!)!
|
3
コードの編集をしました
title
CHANGED
File without changes
|
body
CHANGED
@@ -32,8 +32,7 @@
|
|
32
32
|
このような出力結果にしたいです。
|
33
33
|
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
|
34
34
|
```swift
|
35
|
-
|
35
|
+
|
36
|
-
```途中経過
|
37
36
|
let n = Int(readLine()!)!
|
38
37
|
var users : [String:String] = [:]
|
39
38
|
|
@@ -62,6 +61,7 @@
|
|
62
61
|
}
|
63
62
|
}
|
64
63
|
}
|
64
|
+
```
|
65
65
|
なんとかペアで出力することはできましたが、辞書型なので順番通りに出力ができずに悩んでいます。
|
66
66
|
KeyValuePairs と定義すれば順番が保持されると分かったのですが、var users : KeyValuePairs = [:]
|
67
67
|
としてもうまくいきませんでした。
|
2
コードの編集
title
CHANGED
File without changes
|
body
CHANGED
@@ -31,35 +31,37 @@
|
|
31
31
|
kai yellow
|
32
32
|
このような出力結果にしたいです。
|
33
33
|
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
|
34
|
+
```swift
|
35
|
+
コード
|
34
|
-
途中経過
|
36
|
+
```途中経過
|
35
37
|
let n = Int(readLine()!)!
|
36
38
|
var users : [String:String] = [:]
|
37
39
|
|
38
40
|
for _ in 0..<n{
|
39
|
-
|
41
|
+
let tmp = readLine()!.split(separator: " ")
|
40
|
-
|
42
|
+
let user = String(tmp[0])
|
41
|
-
|
43
|
+
let blood = String(tmp[1])
|
42
|
-
|
44
|
+
users[user] = blood
|
43
45
|
}
|
44
46
|
|
45
47
|
let m = Int(readLine()!)!
|
46
48
|
var fortunes : [String:String] = [:]
|
47
49
|
|
48
50
|
for _ in 0..<m{
|
49
|
-
|
51
|
+
let tmp = readLine()!.split(separator: " ")
|
50
|
-
|
52
|
+
let blood = String(tmp[0])
|
51
|
-
|
53
|
+
let fortune = String(tmp[1])
|
52
|
-
|
54
|
+
fortunes[blood] = fortune
|
53
55
|
}
|
54
56
|
|
55
57
|
for (user,user_blood) in users{
|
56
|
-
|
58
|
+
for (blood,fortune) in fortunes{
|
57
|
-
|
59
|
+
if user_blood == blood{
|
58
|
-
|
60
|
+
print("(user) (fortune)")
|
59
|
-
|
61
|
+
break
|
60
|
-
}
|
61
|
-
}
|
62
62
|
}
|
63
|
+
}
|
64
|
+
}
|
63
65
|
なんとかペアで出力することはできましたが、辞書型なので順番通りに出力ができずに悩んでいます。
|
64
66
|
KeyValuePairs と定義すれば順番が保持されると分かったのですが、var users : KeyValuePairs = [:]
|
65
67
|
としてもうまくいきませんでした。
|
1
自分のコードを載せました。
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
swift
|
1
|
+
swift 辞書型 対応する値があれば、順序を保持して出力する方法
|
body
CHANGED
@@ -31,5 +31,38 @@
|
|
31
31
|
kai yellow
|
32
32
|
このような出力結果にしたいです。
|
33
33
|
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
|
34
|
+
途中経過
|
35
|
+
let n = Int(readLine()!)!
|
36
|
+
var users : [String:String] = [:]
|
34
37
|
|
38
|
+
for _ in 0..<n{
|
39
|
+
let tmp = readLine()!.split(separator: " ")
|
40
|
+
let user = String(tmp[0])
|
41
|
+
let blood = String(tmp[1])
|
42
|
+
users[user] = blood
|
43
|
+
}
|
44
|
+
|
45
|
+
let m = Int(readLine()!)!
|
46
|
+
var fortunes : [String:String] = [:]
|
47
|
+
|
48
|
+
for _ in 0..<m{
|
49
|
+
let tmp = readLine()!.split(separator: " ")
|
50
|
+
let blood = String(tmp[0])
|
51
|
+
let fortune = String(tmp[1])
|
52
|
+
fortunes[blood] = fortune
|
53
|
+
}
|
54
|
+
|
55
|
+
for (user,user_blood) in users{
|
56
|
+
for (blood,fortune) in fortunes{
|
57
|
+
if user_blood == blood{
|
58
|
+
print("(user) (fortune)")
|
59
|
+
break
|
60
|
+
}
|
61
|
+
}
|
62
|
+
}
|
63
|
+
なんとかペアで出力することはできましたが、辞書型なので順番通りに出力ができずに悩んでいます。
|
64
|
+
KeyValuePairs と定義すれば順番が保持されると分かったのですが、var users : KeyValuePairs = [:]
|
65
|
+
としてもうまくいきませんでした。
|
66
|
+
|
67
|
+
|
35
68
|
ご回答よろしくお願いいたします。
|