2023. 3. 13. 19:26ㆍAlgorithm
1. 문자열 뒤집기
(문제 설명, 제한사항, 입출력 예)
문자열을 뒤집으라는 문제이다.
(내가 생각한 풀이 과정)
앞선 배열 뒤집기에서의 슬라이싱 방법을 사용한 것과 동일하게 풀 수 있을 거라 생각했다.
(코드)
💡 내 코드
def solution(my_string):
return my_string[::-1]
2. 직각삼각형 출력하기
(문제 설명, 제한사항, 입출력 예)
길이가 정수 n인 직각 이등변 삼각형을 출력하라는 문제이다.
(내가 생각한 풀이 과정)
for 반복문을 이용하여 1부터 n까지 수를 늘려가면서 "*"의 갯수를 곱해주면 쉽게 해결할 수 있다.
(코드)
💡 내 코드
n = int(input())
for i in range(1, n+1):
print("*"*i)
3. 짝수 홀수 개수
(문제 설명, 제한사항, 입출력 예)
num_list 배열의 원소들 중 짝수와 홀수의 개수를 담은 배열을 반환하라는 문제이다.
(내가 생각한 풀이 과정)
num_list 배열을 반복하면서 각 원소가 홀수인지 짝수인지를 "%2" 연산을 통해서 구해주면 풀 수 있다.
여기서 하나의 포인트는 2로 나눴을 때 나머지가 0이라면 짝수, 나머지가 1이라면 홀수가 되는 사실에서 이 나머지 값을 새로운 배열의 인덱스로 활용이 가능하다는 것이다.
정리하자면, %2의 결괏값이 0일 경우에 새로운 answer 배열의 인덱스 [%2==0]을 +1, 홀수일 경우에도 마찬가지라고 생각하면 되겠다.
(코드)
💡 내 코드
def solution(num_list):
answer = [0, 0]
for i in num_list:
answer[i%2] += 1
return answer
4. 문자 반복 출력하기
(문제 설명, 제한사항, 입출력 예)
문자열과 정수가 주어질 때, 문자열 내의 각 문자를 n만큼 반복한 문자열을 반환시키라는 문제이다.
(내가 생각한 풀이 과정)
문자열을 for문으로 반복시키면서,
각 문자를 n만큼 반복시켜 새로운 문자열에 추가해주면 쉽게 해결할 수 있을 거라 생각했다.
(코드)
💡 내 코드
def solution(my_string, n):
result = ""
for i in my_string:
result += i*n
return result
💡 다른 사람의 풀이 코드
문자열의 경우, join 함수를 사용하면 더 깔끔하게 한 줄로 코드를 작성할 수도 있었다.
참고로 join 함수의 사용법은 "연결방법.join(string 타입의 값을 갖고 있는 리스트)"이다.
def solution(my_string, n):
return ''.join(i*n for i in my_string)
'Algorithm' 카테고리의 다른 글
[Programmers/Lv. 0] 코딩테스트 입문 Day 8 - 배열, 구현, 수학 (Python) (0) | 2023.04.23 |
---|---|
[Programmers/Lv. 0] 코딩테스트 입문 Day 7 - 문자열, 조건문, 수학, 반복문 (Python) (3) | 2023.03.15 |
[Programmers/Lv. 0] 코딩테스트 입문 Day 5 - 수학, 배열 (Python) (0) | 2023.03.13 |
[Programmers/Lv. 0] 코딩테스트 입문 Day 4 - 수학, 배열 (Python) (0) | 2023.03.11 |
[Programmers/Lv. 0] 코딩테스트 입문 Day 3 - 사칙연산, 배열, 수학 (Python) (0) | 2023.02.16 |