Machineboy空

Excercism - Scrabble Score switch문, foreach문 본문

Computer/Coding Test

Excercism - Scrabble Score switch문, foreach문

안녕도라 2025. 1. 16. 13:32

문제요약

단어를 구성하는 알파벳에 따라 점수를 매겨라.

 

난이도

Easy


풀이 포인트

  • switch문 사용
  • forEach문 사용
 foreach (char a in input) { }

https://machineboy0.tistory.com/308

 

C# if문, switch문, for문, forEach문, while문

완전 기초를 다시 다지고 가자.조건문 구성할 때 switch문이 적절한 케이스였음에도 바로 생각나지 않아서 정리한다.If문특정 조건에 따라 코드를 실행할지 말지 결정할 수 있는 문법if( 조건부 ) {

machineboy0.tistory.com

 


REVIEW

 

forEach문을 C#으로 작성하는 데 버벅였고, 이 문제는 현저히 switch문에 어울리는 케이스였으나 바로 떠올리지 못해서 정리해둔다.

 


강의

https://www.youtube.com/watch?v=pFKLHOygtqQ


CODE

using System;

public static class ScrabbleScore
{
    public static int Score(string input)
    {
        int score = 0;

        input = input.ToUpper();

        foreach (char a in input)
        {
            switch (a)
            {
                case 'A':
                case 'E':
                case 'I':
                case 'O':
                case 'U':
                case 'L':
                case 'N':
                case 'R':
                case 'S':
                case 'T':
                    score += 1;
                    break;
                case 'D':
                case 'G':
                    score += 2;
                    break;
                case 'B':
                case 'C':
                case 'M':
                case 'P':
                    score += 3;
                    break;
                case 'F':
                case 'H':
                case 'V':
                case 'W':
                case 'Y':
                    score += 4;
                    break;
                case 'K':
                    score += 5;
                    break;
                case 'J':
                case 'X':
                    score += 8;
                    break;
                case 'Q':
                case 'Z':
                    score += 10;
                    break;
                default:
                    break;
            }
        }

        return score;
    }
}