[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] level.2 - ์กฐ์ด์Šคํ‹ฑ(C++)

2023. 6. 10. 00:35ยท๐Ÿ–ฅ๏ธ Study Note/Coding Test

https://school.programmers.co.kr/learn/courses/30/lessons/42860

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr

๋‚ด ํ’€์ด

#include <string>
#include <vector>
#include <iostream>

using namespace std;

int solution(string name) {
    int answer = 0;
    int n = name.length();
    int turn = n-1; // ์กฐ์ด์Šคํ‹ฑ์„ ํ•œ ๋ฐฉํ–ฅ์œผ๋กœ ์ญ‰ ์›€์ง์˜€์„ ๋•Œ

    for(int i = 0; i < n; ++i)
    {
        // 1. ๋ฌธ์ž ์ˆ˜์ •
        // A๋ถ€ํ„ฐ ์ ‘๊ทผ
        if(name[i]-'A' <='Z'- name[i] + 1)
            answer += name[i]-'A';
        // Z๋ถ€ํ„ฐ ์ ‘๊ทผ
        else
            answer += 'Z' - name[i] + 1;
        
        // ํ˜„์žฌ ๊ฐ’ ์ดํ›„์˜ 'A'์œ„์น˜๋ฅผ ์ฐพ๋Š”๋‹ค.
        int next = i + 1;
        while(next < n && name[next] == 'A')
            ++next;
         
        // ์ตœ์†Œ ์ด๋™ ๊ฐ’ OR ์—ญ๋ฐฉํ–ฅ์œผ๋กœ ์ด๋™ ๊ฐ’ ์ค‘ ๋” ์ž‘์€ ๊ฐ’์„ ์ฐพ๋Š”๋‹ค.
        turn = min(turn, i + n - next + min(i, n-next));
    }
    answer += turn;
    
    return answer;
}
์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'๐Ÿ–ฅ๏ธ Study Note > Coding Test' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค]level.1 - ํ•ธ๋“œํฐ ๋ฒˆํ˜ธ ๊ฐ€๋ฆฌ๊ธฐ(C++)  (0) 2023.06.11
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค]level.2 - ์—ฐ์†๋œ ๋ถ€๋ถ„ ์ˆ˜์—ด์˜ ํ•ฉ(C++)  (0) 2023.06.10
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] level.2 - ๋กค์ผ€์ดํฌ ์ž๋ฅด๊ธฐ(C++)  (0) 2023.06.08
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] level.2 - ๋ฏธ๋กœ ํƒˆ์ถœ(C++)  (0) 2023.06.07
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] level.3 - ๋‹จ์† ์นด๋ฉ”๋ผ(C++)  (0) 2023.06.06
'๐Ÿ–ฅ๏ธ Study Note/Coding Test' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค]level.1 - ํ•ธ๋“œํฐ ๋ฒˆํ˜ธ ๊ฐ€๋ฆฌ๊ธฐ(C++)
  • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค]level.2 - ์—ฐ์†๋œ ๋ถ€๋ถ„ ์ˆ˜์—ด์˜ ํ•ฉ(C++)
  • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] level.2 - ๋กค์ผ€์ดํฌ ์ž๋ฅด๊ธฐ(C++)
  • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] level.2 - ๋ฏธ๋กœ ํƒˆ์ถœ(C++)
Beankong_
Beankong_
์ฃผ๋‹ˆ์–ด ํด๋ผ์ด์–ธํŠธ ํ”„๋กœ๊ทธ๋ž˜๋จธ ๊ณต๋ถ€ ๊ธฐ๋ก
  • Beankong_
    Beankong's Devlog
    Beankong_
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ์ „์ฒด ๊ธ€ (146)
      • โ›… Daily (0)
      • ๐Ÿ–ฅ๏ธ Study Note (2)
        • C++ (1)
        • Unreal Engine (5)
        • Coding Test (123)
        • Design Patteren (5)
        • VCS (Git..) (1)
        • Server (1)
      • ๐Ÿงญ Devlog (8)
        • ์˜ค๋‹ต๋…ธํŠธ (4)
        • UE5 GameLift Server Test Project (1)
        • TIL (3)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ๋งํฌ

    • ๊ณต์ง€์‚ฌํ•ญ

    • ์ธ๊ธฐ ๊ธ€

    • ํƒœ๊ทธ

      ์ตœ๋‹จ ๊ฑฐ๋ฆฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜
      unrealengine module
      ๊ฒŒ์ž„ํ”„๋กœ๊ทธ๋ž˜๋ฐ
      unrealengine build system
      ๊ฒŒ์ž„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ
      ์•Œ๊ณ ๋ฆฌ์ฆ˜
      ๊ทธ๋ฆฌ๋””(greedy)
      cpp
      ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
      UnrealEngine5
      propertyaccess
      ๊ฒŒ์ž„ ๋ชจ์ž‘
      UnrealEngine
      programmers
      OnlineSubsystem
      ์ฝ”๋”ฉํ…Œ์ŠคํŠธ
      ๊ทธ๋ž˜ํ”„ ์ˆœํšŒ
      ํ”„๋ฃŒ๊ทธ๋ž˜๋จธ์Šค
      ๊ฒŒ์ž„ ๊ฐœ๋ฐœ
      ํ—ฌํ…Œ์ด์ปค
    • ์ตœ๊ทผ ๋Œ“๊ธ€

    • ์ตœ๊ทผ ๊ธ€

    • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
    Beankong_
    [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] level.2 - ์กฐ์ด์Šคํ‹ฑ(C++)
    ์ƒ๋‹จ์œผ๋กœ

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”