202 / 205
Abramyan · StringQiyin15 ball· ~12 daqiqa

Caesar cipher (shifrlash)

Satr s (lotin harflari va boshqa belgilar) va butun son k berilgan. Caesar shifri bilan shifrlang: har bir lotin harfini alifboda k ta o'ngga siljiting (Z dan keyin A ga, z dan keyin a ga qaytiladi, harfning katta-kichikligi saqlanadi). Harf bo'lmagan belgilar o'zgarmaydi.

example.go
func solve(s string, k int) string {
    // ...
}

Misollar

kod
Input: S='ABC', K=3
Output: "DEF"
kod
Input: S='XYZ', K=3
Output: "ABC"
kod
Input: S='Hello', K=1
Output: "Ifmmp"

Maslahatlar

  1. Siljishni normallashtiring: shift := ((k % 26) + 26) % 26.
  2. Kichik harf uchun: 'a' + (c-'a'+shift)%26; katta harf uchun xuddi shunday 'A' bilan. Boshqa belgilarni o'zgartirmang.