Leetcode 1663. Smallest String With A Given Numeric Value

영슈·2023년 10월 6일
0

인턴십-LeetCode

목록 보기
20/20
post-thumbnail

문제 링크

https://leetcode.com/problems/smallest-string-with-a-given-numeric-value/description/

문제 해석

  • a 는 1 , z는 26 의 숫자로 계산
  • 주어진 k 를 n 길이에 맞는 문자열로 리턴
  • 사전 순으로 나오게 만들어라

문제 해결

  • 앞에는 최대한 a로 , 뒤에는 최대한 z로
  • 그 사이에는 알파벳 임의 추가
    => 세가지 부분으로 나눠 구현

슈도 코드

str = ""
str.length 가 n 일때까지 반복
	if k가 n - str.length + 25 보다 크거나 같을시
	( 그래야 , 하나를 z로 해도 , 나머지들이 aaa 처럼 111 이 될 수 있으므로 )
		str += 'z'
		k -= 26
	else if k 가 n - str.length 보다 클시
	( 나머지 문자들이 a가 가능하게 하는 최소한의 수보다 커야 하므로 )
		count = n - str.length -1(해당 문자가 a 즉 1부터 시작하므로)
		str += k-count 번째 문자
		k -= count
	else 아니면
	( 무조건 a 를 넣어야 함 )
		str+='a'
		k-=1
return str 을 뒤에서부터 reverse
	

결과

사담

  • 조건에 맞춰 잘 구현해야 하는 문제
  • 처음 , 무엇을 요구하는지 감이 안와서 , if 문으로 하나씩 처리해서 원하는 걸 찾아냈음

  • Python 에서 아스키 코드 활용법
Writed By Obisidan
profile
Continuous Learning

0개의 댓글