[코딩테스트/프로그래머스/Python]조이스틱

Enter·2021년 7월 16일
0

코딩테스트

목록 보기
15/68

💡생각

  1. name을 for문 돌면서 알파벳배열에 index와 -index의 절대값을 비교해 더 적은 값을 answer에 더해준다.
  2. name의 길이 -1을 answer에 더해준다.
  3. 중간에 A가 나오는 경우를 고려해준다.



❓잘못된 코드1

테스트11을 통과하지 못함. 모두다 A일 경우를 고려해야 하나?

answer: 이름에 대해 조이스틱 조작 횟수의 최솟값
name: 만들고자하는 이름


name 문자열을 for문을 돌면서 만약 i가 A->Z로 가는 것보다 A->B로 가는 것이 더 가까우면 A->B로 가는 방향으로 몇번 조작해야하는지 answer에 더해준다.
A->Z로 가는 방향이 더 가까우면 A->Z로 가는 방향으로 몇 번 조작해야하는지 answer에 더해준다.
그리고 만약 name[1:]이후로 A의 개수가 중복되면 A가 중복되는 수 만큼 answer에서 빼주고 마지막으로 answer에 name의 길이 -1을 해준다.(조이스틱이 오른쪽으로 끝까지 움직인 횟수에서 A가 반복되는 갯수를 빼주면 될거라고 생각함.)



해결: 질문하기를 보니 한방향으로 움직이지 않는 경우도 고려해야 한다고 함.



⏬다른사람의 코드

도저히 구현할 방법을 모르겠어서 그냥 다른 사람 코드 봄...
이 분은 이 문제를 ^특정 규칙에 맞춰 모두 'A'로 변환하는 최소 횟수를 구하는 문제^로 이해하고 푸심. 나중에 참고해서 다시 풀어봐야겠음...
https://hellominchan.tistory.com/350







🔗프로그래머스 - 조이스틱
https://programmers.co.kr/learn/courses/30/lessons/42860

profile
Cherish the moment :)

0개의 댓글