ねむーの日記~AtCoderな日々~

福岡に住むプログラミング好きのブログです!

AtCoder Beginner Contest 146 A - Can't Wait for Holiday

雨模様が多いですね、ねむーです。

今回はAtCoder(https://atcoder.jp/contests/abc146/tasks/abc146_a)にて開催されました、AtCoder Beginner Contest 146 A問題「A - Can't Wait for Holiday」の問題と僕との戦闘記です。

0.はじめに

今回も、プログラミング言語C#を使用しています。

1.問題文

今日の曜日を表す文字列 S が与えられます。

S は SUN,MON,TUE,WED,THU,FRI,SAT のいずれかであり、それぞれ日曜日、月曜日、火曜日、水曜日、木曜日、金曜日、土曜日を表します。

次の日曜日 (あす以降) が何日後か求めてください。

2.制約

S は SUN,MON,TUE,WED,THU,FRI,SAT のいずれか

3.入力例

  • 入力
SAT
  • 出力
1

4.初見の感想

  • SUNなら7,MONなら6という順に出力すればよい
  • if文連打でも書けるけど…

5.学びポイント

  • 配列の中をサーチして番号を返すIndexOfという関数がある!
  • SUNから順に登録して7からマイナスしよう

6.コードと簡単な解説

using System;
using System.Collections.Generic;

public class Program
{
  private static void Main()
  {
    List<string> days = new List<string>(){"SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"};
    
    string str = Console.ReadLine();
    
    Console.WriteLine(7 - days.IndexOf(str));
  }
}

7.最後に

簡単な問題でも解き方は工夫の余地がありますね。