본문 바로가기

코딩 테스트/프로그래머스98

닉네임 규칙 첫번째 코드 디버깅으로 한 문장만 바꾸며 되는 문제로 문제에 해당 하는 코드는 대부분 작성되어 있다. 내가 집중한 곳은 문자의 길이를 맞추는 부분이다.문자가 8자리보다 긴 경우는 8까지 보는 것으로 문제가 되지 않으나,문자가 4자리보다 짧은 경우 4자리가 될 떄까지 문자열을 추가해야 한다.하지만 코드상으로는 'o' 하나만 추가하는 것을 볼 수 있다.즉, 만약 문자의 길이가 1이라면 'ooo'를 추가해야 하지만 현재의 코드는 'o'만 추가한다는 것이다.그러므로 부족한 길이의 차이를 구한 후 해당 길이만큼 문자열을 추가한다. def solution(nickname):     answer = ""     for letter in nickname:         if letter == "l":          .. 2024. 11. 4.
대충 만든 자판 첫번째 코드 문제를 읽어보고 내가 먼저 든 생각은 "이 문제를 제약이 없는 일반화된 상태에서도 풀 수 있도록 만들고 싶다"는 것이었다.그렇기 때문에 가장 먼저 생각난 것은 1. 문자별로 눌러야 하는 최소의 숫자를 딕셔너리 형태로 저장하자는 것이었다.그 후에 2. targets의 문자를 딕셔너리에서 찾아 정답을 구하는 방식이었다. 1. 문자별로 눌러야 하는 최소의 숫자를 딕셔너리 형태로 저장하기- 빈 딕셔러니(key_dict)를 만든다- keymap의 모든 단어들과 알파벳들을 거쳐가면서 최소(min)의 눌러야 하는 값을 비교하면서 값으로 저장한다. 2. targets의 문자를 찾아 정답 구하기- targets의 단어들을 거치기 위해 각 단어별로 최소한으로 눌러야 하는 값 now_answer = 0으로 초기.. 2024. 11. 1.
문자열 나누기 첫번째 코드 문제를 열심히 읽어봐야 한다!!! (이전에 어떻게 이해했는지 기억이 안나지만 한두번 읽다가 엥 뭐야? 했었다...ㅎ;)현재의 문자를 now로 설정한 뒤 현재의 문자의 개수(now_count)와 다른 문자의 개수(diff_count)를 센다.now_count와 diff_count의 개수가 같아지는 경우, 문자를 끊으므로 answer에 1을 더한 후, now_count, diff_count, now를 초기화한다.만약 끝까지 진행된 경우 now_count에 숫자가 들어있는 경우, 해당 문자열끼리 잘라 종료하므로 answer에 1을 더한다.최종 답안인 answer를 보인다. def solution(s):     answer = 0     now_count = 0     diff_count = 0  .. 2024. 10. 28.
심폐소생술 첫번째 코드 action은 현재 리스트의 원소를 순서대로 보여주는 것이다.이를 basic_order의 순서와 맞는 경우 해당 인덱스에 +1을 한 후 표현한다.(인덱스의 경우 0부터 시작하지만, 순서를 표현하는 경우 1부터 시작하기 때문) 해당 인덱스를 표현하기 위해 i를 숫자로 표현한 것이다. def solution(cpr):     answer = []     basic_order = ["check", "call", "pressure", "respiration", "repeat"]     for action in cpr:         for i in range(len(basic_order)):            if action == basic_order[i]:                 answ.. 2024. 10. 25.
각도 합치기 첫번째 코드 코드를 보면 확인이 가능하듯이, 단순히 두 각을 더한 값만 표현되어 있다.이 코드에서 중요한 것은 0에서 360 사이의 값을 가져야 한다는 것이고,즉 이는 360으로 나눈 나머지 값을 반환하면 된다. angle1 = int(input()) angle2 = int(input()) sum_angle = (angle1 + angle2) % 360 print(sum_angle) 통과링크https://github.com/ornni/programmers/tree/main/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/340206.%E2%80%85%EF%BC%BBPCCE%E2%80%85%EA%B8%B0%EC%B6%9C%EB%AC%B8%EC%A0%9C.. 2024. 10. 21.
버스 첫번째 코드 마지막 코드의 빈칸만 채우면 되는 문제이다. 마지막 코드를 채우기 위에서는 위의 func1 ~ fun4까지의 내용을 알아야 한다.func1: num이 음수이면 0, 아니면 numfunc2: num이 양수이면 0, 아니면 numfunc3: station 리스트 내의 'Off'의 모든 개수func4: station 리스트 내의 'On'의 모든 개수위에서 느낌이 오듯이 func3, func4는 승객의 인원수를 확인위한 코드이고, func, func2는 최종 정답에 사용될 것 같은 함수이다.먼저 버스 안에 남은 승객을 구하기 위해 func3, func4를 알맞은 위치에 넣어준다. 그리고 여기서 헷갈릴 수 있는 문제가 있는데, 정답은 0 이상의 양수이고, 남은 자리를 알려주어야 한다. 남은자리 = s.. 2024. 10. 18.
728x90