[코딩테스트] 입문 Day. 16

jang·2026년 4월 1일

프로그래머스 입문

목록 보기
12/12

문제 1) 편지

[문제]

머쓱이는 할머니께 생신 축하 편지를 쓰려고 합니다. 할머니가 보시기 편하도록 글자 한 자 한 자를 가로 2cm 크기로 적으려고 하며, 편지를 가로로만 적을 때, 축하 문구 message를 적기 위해 필요한 편지지의 최소 가로길이를 return 하도록 solution 함수를 완성해주세요.

1. 내 정답

def solution(message)
	return len(message)*2

2. 풀이

  • len(message)*2 : message 글자 길이에 2를 곱하기

문제 2) 가장 큰 수 찾기

[문제]

정수 배열 array가 매개변수로 주어질 때, 가장 큰 수와 그 수의 인덱스를 담은 배열을 return 하도록 solution 함수를 완성해보세요.

1. 내 정답

def solution(array)
	big = max(array)
	num = array.index(big)
	return [big,num]

2. 풀이

  • big = max(array): big에다가 array에서 가장 큰 수 넣기
  • num = array.index(big): num에다가 big의 index 번호 넣기

문제 3) 문자열 계산하기

[문제]

my_string은 "3 + 5"처럼 문자열로 된 수식입니다. 문자열 my_string이 매개변수로 주어질 때, 수식을 계산한 값을 return 하는 solution 함수를 완성해주세요.

1. 내 정답

def solution(my_string):
	s = my_string.split()
	answer = int(s[0])
	
	for i in range(1,len(s),2):
		if s[i] == "+":
			answer += int(s[i + 1])
		else:
			answer -= int(s[i + 1])
			
	return answer

2. 풀이

  • s = my_string.split(): my_string을 공백 기준으로 잘라서 s에 저장
  • answer = int(s[0]): 첫 번째 숫자를 꺼내서 정수로 바꾼 뒤 answer에 넣기
  • for i in range(1, len(s), 2): s에서 연산자가 있는 자리만 골라서 반복
  • if s[i] == “+”: i가 +와 같다면
  • answer += int(s[i + 1]): 현재 답에다가 다음 숫자를 더하기
  • else, answer -= int(s[i+1]): 아니라면 현재 답에다가 다음 숫자 빼기

문제 4) 배열의 유사도

[문제]

두 배열이 얼마나 유사한지 확인해보려고 합니다. 문자열 배열 s1과 s2가 주어질 때 같은 원소의 개수를 return하도록 solution 함수를 완성해주세요.

1. 내 정답

def solution(s1,s2):
	answer = 0
	
	for i in s1:
		if i in s2:
			answer += 1
	return answer

2. 풀이

  • answer = 0: 동일한 값이 있다면 카운트 해서 숫자를 넣어줄 변수 생성
  • for i in s1: i에 순서대로 s1에 있는 데이터들을 대입한다.
  • if i in s2: 만약 s2에 i가 있다면
  • answer += 1: answer에 1씩 더해준다

✨ 마무리

이번 문제들은 다소 쉽다고? 느껴졌었다.

그동안 사용해왔던 것들에서 문제에서 사용 가능한 것들을 꺼내오기만 하면 되는 수준이었다고 생각한다.

이렇게 한 번 더 개념을 정리하고 어느 상황에서 사용할 수 있는지를 계속해서 적립해 나가야겠다고 생각한다.

今回の問題は、比較的簡単だと感じました。

これまで使ってきたものの中から、問題で使えるものを取り出して使えばよいレベルだったと思います。

このように、もう一度概念を整理して、どのような場面で使えるのかを引き続き積み重ねていきたいと思います。

profile
비전공자가 AI 엔지니어가 되는 과정

0개의 댓글