문제
문자열을 입력으로 주면 문자열의 첫 글자와 마지막 글자를 출력하는 프로그램을 작성하시오.
입력
3
ACDKJFOWIEGHE
O
AB
출력
AE
OO
AB
시도
input으로 3 이라는 횟수를 만들어주고 첫 번째 문자열과 마지막 문자열을 구할려면 0,-1을 사용하면 되겠다라고 생각했다.
해결
a = input() 을 사용해서 a[0]+a[-1]를 하니 문제에 정답이 맞았다.
T = int(input())
for i in range(T):
a = input()
print(a[0]+a[-1])
문제
시도
- 중복 제거만 하는줄 알고 set을 사용해 중복을 제거했다.
- 문제에서는 앞의 숫자가 중복되지 않으면 출력이 되도록하라는 것이다.
- [arr[0]] 처음부터 하나씩 비교하면서 answer -1 를 사용
- answer[-1] 를 하면 입출력의 예로 1,1,3,3,0,1,1 중 첫 번째 1 의 -1를 해준다.
-1에 대한 예시
# 예시 ) 첫번째 반복 회수값 = i
# answer = [4]
# i = 0 a = 4 == 4
# answer = [4]
# i = 1 a = 4 == 4
# answer = [4]
# i = 2 a = 4 == 4
# answer = [4]
# i = 3 a = 3 == 4
# answer = [4,3]
# i = 4 a= 3 == 3
a = [4,4,4,3,3]
print(solution(a))
문제의 정답
def solution(arr):
answer = [arr[0]]
for a in arr:
if not a == answer[-1]: #!= 가능
answer.append(a)
return answer
'알고리즘' 카테고리의 다른 글
2023-04-27 가위바위보,25304번: 영수증,커트라인 (0) | 2023.04.27 |
---|---|
2023-04-26 최소직사각형 (0) | 2023.04.26 |
2023-04-24 알고리즘 while,알고리즘 (0) | 2023.04.24 |
2023-04-18 알고리즘for문 range함수 사용 (0) | 2023.04.18 |
2023-04-06 알고리즘 가위바위보 (0) | 2023.04.06 |
댓글