わくワーク

2022年3月に早期退職し起業しました。仕事、趣味について発信する雑記ブログです。当ブログはGoogleアドセンス及びアフィリエイト広告を利用しています。

Aランクレベルアップメニュー「座標系での移動・向き」

お元気さまです。わくワークの義(ヨシ)です。

 

プログラミングスキルアップのために、paizaラーニングで、問題を解いています。

練習問題は、次のリンクから見ることができます。

paiza.jp

 

向いている方向により、移動する方向が変わるという問題設定どおりに条件を整理しました。

工夫すれば、もっとコンパクトなコードが書けるかもしれませんが、思いつきませんでした。

 

提出したコードは、次のとおりです。

 

#include <stdio.h>
int main(void){
    char str[1000];
    int y,x;
    char news,lr;
    fgets(str, sizeof(str), stdin);
    sscanf(str,"%d %d %c",&y,&x,&news);
    fgets(str, sizeof(str), stdin);
    sscanf(str,"%c",&lr);
    switch( news ) {
        case 'N':
            if( lr=='R'){
                x = x + 1;
            }
            else{
                x = x - 1;
            }
            break;
        case 'S':
            if( lr=='R'){
                x = x - 1;
            }
            else{
                x = x + 1;
            }
            break;
         case 'E':
            if( lr=='R'){
                y = y + 1;
            }
            else{
                y = y - 1;
            }
            break;
         case 'W':
            if( lr=='R'){
                y = y - 1;
            }
            else{
                y = y + 1;
            }
            break;           
    }
    printf("%d %d\n", y,x);
    return 0;
}

 

Aランクへのレベルアップを目指して、続けたいと思います。

 

それでは、今日もワクワクな一日を!

チャオチャオ!