7/16 23~27번 문제풀이

강인호·2022년 7월 19일
0

알고리즘 문제풀이

목록 보기
8/39

23번 문제

처음에는 abcd...배열을 하나 만들고 ABCD...배열을 만들어서 s의i번째 인덱스의 위치를

만들어 놓은 배열에서 위치를 찾아서 위치에 +n의 인덱스를 리턴하게끔 접근을 해보았다.

지금 와서 보니 굳이 안쪼개도 됐을것 같긴한데 일단

쪼갠후 match로 포함하는지 확인 포함하지 않는다면 -1을 리턴하면서 빠져나가고

포함한다면 a의 배열에 몇번째의 인덱스를 포함하는지 인덱스 위치가 리턴되고 a의 해당 번호+n의 인덱스를answer값에 담는 식으로 코드를 짰다.

소문자일때, 대문자일때, 그리고 마지막으로 공백일때는 그대로 해당 인덱스를 공백으로 리턴하게끔 만들었다.

24번 문제

단계는 7개지만 각 단계마다의 코드가 어렵지는 않아서 그냥 시키는대로 따라가면 된다.
최종코드는

25번 문제

처음 접근은 i를 left부터 right까지 돌려서 그 안에서 for문을 한번 더 실행해서 나누어 떨어지면 answer값을 1 더해서 약수의 개수를 구한다음 answer가 짝수면 result에 더하고 홀수면 빼는식으로 짰다.

최종코드는

26번 문제

25번보다 쉽다 약수를 구하는 과정에서 약수인게 판별이 되면 answer에 더하는 식으로 짰다.

27번

일단 최대한 많은팀을 사주는게 목표기때문에 필요금액이 적은 팀부터 하나씩 사주면 최대한 많은 팀을 사줄 수 있다고 생각했고, 오름차순 정렬을 한 뒤 하나씩 예산에서 빼주면서 남은 예산보다 요구하는 예산이 많아질때 빠져나오게끔 짰다.

0개의 댓글