Self Improvement
2025-03-31
10 min read

꾸준한 습관 형성

꾸준한 습관을 형성하는 것은 어렵다.

개요

꾸준한, 지속 가능한 습관을 형성하는 것은 어렵다. 반복되는 출퇴근 사이클에서 퇴근 이후 목표를 설정하고, 계획하고, 수행하는 데 어려움이 있는 것 같다.

퇴근 후 집에 도착하면 피로감과 함께 '오늘은 쉬자'는 생각이 자연스레 떠오른다. 내일부터 제대로 시작하면 되겠지. 하지만 그 '내일'은 결코 오지 않는다.

(다이어트는 내일부터..)

(다이어트는 내일부터..)

직장인의 저녁은 아이러니하다. 온전히 나를 위한 시간이면서도, 가장 에너지가 바닥난 시간이다. 의사결정 피로로 지친 뇌는 더 이상의 노력을 거부한다.

“내가 이런 것 까지 결정해야 돼?”

“내가 이런 것 까지 결정해야 돼?”

이런 악순환을 깨기 위해 최근 코딩 테스트 스터디를 신청하여 오늘부터 시작했다.

매일 하루에 한 문제씩 풀고 인증하는 간단한 일정이 생겼다.

간단한 습관을 형성하는 것부터 해봐야지. 건강한 생활 습관을 구축하는 것이 중요하다.

스터디를 통해 이 작은 시도가 어떤 변화를 가져올지 기대해본다.

오늘의 문제

https://www.acmicpc.net/problem/1032

첫 날이라서 인지, 비기너 레벨이어서인지 문제가 굉장히 쉽다.

문제를 간단히 설명하면, 주어진 문자열에서 동일한 위치에 동일한 문자가 나타나는지 여부를 판단하는 문제이다.

다음은 의사코드.

함수 solution():
    n을 입력받음 (문자열의 개수)
    pattern = null
    
    n번 반복:
        새 문자열(new_line)을 입력받음
        
        만약 pattern이 null이면:
            pattern = new_line을 문자 리스트로 변환
            다음 반복으로 이동
            
        pattern의 길이만큼 반복(i 사용):
            ch_new_line = new_line의 i번째 문자
            ch_pattern = pattern의 i번째 문자
            
            만약 ch_pattern이 ch_new_line과 다르면:
                pattern[i]를 '?'로 변경
                
    pattern을 문자열로 합쳐서 출력

Python

def solution():
    n = int(input())

    pattern = None
    for _ in range(n):
        new_line = input()
        if pattern is None:
            pattern = list(new_line)
            continue
        for i in range(len(pattern)):
            ch_new_line = new_line[i]
            ch_pattern = pattern[i]
            if ch_pattern != ch_new_line:
                pattern[i] = '?'

    print(''.join(pattern))

if __name__ == '__main__':
    solution()

보너스 문제란다.

회문 판단하는 문제. 이 문제는 풀이가 여러 개 있는데, Python 으로는 아주 쉽게 풀 수 있다.

def solution():
    sentence = input()
    reversed_sentence = list(sentence)
    reversed_sentence.reverse()
    reversed_sentence = ''.join(reversed_sentence)

    print(int(sentence == reversed_sentence))

if __name__ == '__main__':
    solution()

list 뒤집고 원본 문자열과 비교하면 된다.

Joonseok Kim
Joonseok Kim
Software Engineer