๋ฌธ์ œ

https://www.acmicpc.net/problem/1157

์„ค๋ช…

for (int i=0; i<strlen(var); i++){
	...
}

์œ„์™€ ๊ฐ™์€ ์ฝ”๋“œ๋กœ for๋ฌธ์— strlen ํ•จ์ˆ˜๋ฅผ ํ™œ์šฉํ•˜๋ฉด

๋ฐ˜๋ณต๋ฌธ์ด ๋ฐ˜๋ณต๋ ๋•Œ๋งˆ๋‹ค strlen ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด์„œ ๊ณ„์† ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋ฅผ ๊ตฌํ•ด์˜ค๊ธฐ๋–„๋ฌธ์—

์‹œ๊ฐ„์ด ๋” ์˜ค๋ž˜๊ฑธ๋ฆฌ๊ฒŒ ๋œ๋‹ค.

๋ฏธ๋ฆฌ ๋‹ค๋ฅธ ๋ณ€์ˆ˜์— strlen ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด์„œ ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋ฅผ ๊ตฌํ•œ๋‹ค์Œ

๊ทธ ๊ฐ’์„ ํ™œ์šฉํ•˜๋Š”๊ฒŒ ์‹œ๊ฐ„๋‹จ์ถ•์— ๋” ๋„์›€์ด ๋œ๋‹ค.

์ฐธ๊ณ  ์ž๋ฃŒ : https://www.acmicpc.net/board/view/102628 ๋ฌธ์ œ : https://www.acmicpc.net/problem/1157

์ฝ”๋“œ

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>

int main()
{
    char inp = '\0';
    int count[26] = { 0 },max=0,finded=0,chr=0;
    while (inp != '\n')
    {
        inp = getchar();
        count[inp - (inp >= 'a' && inp <= 'z' ? 'a' : 'A')] += 1;
    }
    for (int i = 0; i < 26; i++)
        if(count[i] != 0)
            if (max < count[i])
            {
                max = count[i];
                chr = i + 'A';
            }

    for (int i = 0; i < 26; i++)
    {
        finded += max == count[i] ? 1 : 0;
        if (finded > 1)
            break;
    }
    printf("%c", finded > 1 ? '?' : chr);
}