[백준] 10551 - STROJOPIS



문제 정보


  • 문제 이름: STROJOPIS (원문)
  • 문제 번호: 10551
  • 문제 유형: 알고리즘 - 구현
  • 풀이 언어: C
  • 제출 시간: 2019년 4월 29일 12시 37분 50초
  • 원본 링크: https://www.acmicpc.net/problem/10551



문제

Proper typing is becoming an essential part of culture. If you are still not using all ten fingers for typing, you have to re-learn typing – then you will type faster and feel more comfortable and enjoyable.

There are a lot of websites teaching proper typing. The following image depicts the basic principle; the keys needed to press with the same finger are of the same color. The yellow keys need to be pressed with the pinky, the blue ones with the ring finger, the green ones with the middle finger and the red ones with the index finger. Naturally, the left hand presses the left side of the keyboard (starting with keys 5, T, G, B to the left), the right hand presses the right side (starting with keys 6, Y, H, N to the right). Thumbs are responsible for space.

Please note: the image depicts the US layout. For programming purposes, it is advised to switch to this layout because a lot of special characters, like [], are easier to type. The US layout can be easily set on any operation system.

Your task is to output how many times each finger, excluding thumbs, participated in typing the given string properly.



입력

The first and only line of input contains of a string consisting of at least one and at most fifty characters. The string doesn’t contain whitespaces and consists only of characters depicted on the image above.



출력

The output must consist of eight lines, in each line one integer denoting the number of presses of each finger, excluding thumbs, observed from left to right.



결과 - 소스코드 및 랭크





메모

드디어 플랜 2020 백준 온라인의 첫 문제를 풀기 시작했다.

오랜만에 C를 해서 헷갈리는 부분도 있었지만 쉬운 문제부터 다시 시작해보려고 한다. 원문 같은 경우는 특별히 어려운 경우를 제외하고는 가능하면 번역본 없이 그대로 진행할 예정이고, C와 Java를 적절히 번갈아가면서 문제풀이를 진행할 것이다.

이번 문제는 키보드를 누르는 손가락의 위치에 따라 각각의 합계를 카운트하는 것이었는데, key라는 배열 안에 키보드의 글자를 순서대로 대입시켜 두고 조건문을 이용하여 앞에서부터 해당하는 손가락의 수만큼 잘라 카운트 수를 증가시켰다.

문제풀이 중 배열 안의 ‘ 기호를 \'로 입력해야 한다는 사실을 잊고 어떻게 ‘를 넣어야 할까 잠시 고민하기도 했었다.

제출 당시 C언어 기준 9위에 올랐고 다른 분들의 풀이를 보니 2차원 배열을 이용하신 분도 계셨다. 문제를 풀고나서 비교해 보니 그게 더 효율적이라는 생각이 들기도 했지만 메모리가 오히려 더 높게 나와서 이게 더 나은 풀이인가 싶기도 하다.

Author

Alec J

Posted on

2019-04-29

Updated on

2021-02-09

Licensed under