質問するログイン新規登録

回答編集履歴

4

修正

2018/03/04 13:41

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -36,7 +36,7 @@
36
36
  )
37
37
  ```
38
38
 
39
- 転置バージョン。っちが読みやすいかは好みにります
39
+ 転置バージョン。っちの方がよさそう
40
40
  ```Python
41
41
  def enumerate_col(mat, start=0):
42
42
  return enumerate(zip(*mat), start=start)

3

修正

2018/03/04 13:41

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -38,13 +38,16 @@
38
38
 
39
39
  転置バージョン。どっちが読みやすいかは好みによります。
40
40
  ```Python
41
+ def enumerate_col(mat, start=0):
42
+ return enumerate(zip(*mat), start=start)
43
+
41
44
  N = int(input())
42
45
 
43
46
  greeting_table = [
44
47
  input().split() for _ in range(N)
45
48
  ]
46
49
  renchons = [
47
- i for i, greets in enumerate(zip(*greeting_table), start=1)
50
+ i for i, greets in enumerate_col(greeting_table, start=1)
48
51
  if all(elem in ('nyanpass', '-') for elem in greets)
49
52
  ]
50
53
 

2

追記

2018/03/04 13:40

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -34,4 +34,21 @@
34
34
  print(
35
35
  renchons[0] if len(renchons) == 1 else -1
36
36
  )
37
+ ```
38
+
39
+ 転置バージョン。どっちが読みやすいかは好みによります。
40
+ ```Python
41
+ N = int(input())
42
+
43
+ greeting_table = [
44
+ input().split() for _ in range(N)
45
+ ]
46
+ renchons = [
47
+ i for i, greets in enumerate(zip(*greeting_table), start=1)
48
+ if all(elem in ('nyanpass', '-') for elem in greets)
49
+ ]
50
+
51
+ print(
52
+ renchons[0] if len(renchons) == 1 else -1
53
+ )
37
54
  ```

1

追記

2018/03/04 13:12

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -7,4 +7,31 @@
7
7
  ['hoge', 'hoge', '-', 'piyo']
8
8
  ]
9
9
  print([row[1] for row in list_list]) # ['hoge', '-', 'hoge', 'hoge']
10
+ ```
11
+
12
+ 書いてみた
13
+ ---
14
+ 書いてみました。競プロっぽくないコードではありますが、参考までに。
15
+ ```Python
16
+ def get_col(mat, col_num):
17
+ return [row[col_num] for row in mat]
18
+
19
+ def col_enumerate(mat, start=0):
20
+ for col_num, _ in enumerate(mat[0]):
21
+ yield start, get_col(mat, col_num)
22
+ start += 1
23
+
24
+ N = int(input())
25
+
26
+ greeting_table = [
27
+ input().split() for _ in range(N)
28
+ ]
29
+ renchons = [
30
+ i for i, greets in col_enumerate(greeting_table, start=1)
31
+ if all(elem in ('nyanpass', '-') for elem in greets)
32
+ ]
33
+
34
+ print(
35
+ renchons[0] if len(renchons) == 1 else -1
36
+ )
10
37
  ```