티스토리 뷰
자료구조 & 알고리즘 특강 (강창민 튜터님)
알고리즘의 정의
어떤 문제의 해결을 위하여, 입력된 자료를 토대로 하여 원하는 출력을 유도하여 내는 규칙의 집합. 여러 단계의 유한 집합으로 구성되는데, 각 단계는 하나 또는 그 이상의 연산을 필요로 한다. [표준국어대사전]
인상깊었던 문제 (예제 3)
1. 입력으로 소문자의 알파벳 순으로 정렬된 문자열이 입력됩니다.
2. 각 알파벳은 중복이 가능합니다.
3. 중간에 없는 알파벳이 있을 수도 있습니다. 입,출력 예시와 같이 입력 문자열에 나타나는 각 알파벳의 종류,갯수를 요약하여 나타내시오.
# 문제의 번호별 조건에 대한 입력 예시와 출력
Ex 1)
abc # a1/b1/c1
Ex 2-1)
aaabbbc # a3/b3/c1
Ex 2-2)
abbbc # a1/b3/c1
Ex 3-1)
ahhhhz # a1/h4/z1
Ex 3-2)
acccdeee # a1/c3/d1/e3
내가 구현한 코드
def solution(input_string):
alphabet_set = sorted(set(input_string))
answer = []
for alphabet in alphabet_set:
answer.append(f'{alphabet}{input_string.count(alphabet)}')
return answer
print('/'.join(solution(input())))
반복문을 통해 다양한 풀이가 가능한 문제인데, 집합(set)을 공부한 것에서 아이디어를 떠올려 최대한 간단한 코드를 구상해보았다.
자료구조 알고리즘 원격 강의 진도 나가기
스택
- 한쪽 끝으로만 자료를 넣고 뺄 수 있는 자료 구조 = Last In First Out(LIFO)
- 되돌리기 기능처럼 행동들을 순서대로 기억해야할 때 등에 활용
- 파이썬에서는 list가 스택 자료구조로 활용 가능
큐
- 한쪽 끝으로 자료를 넣고, 반대쪽에서는 자료를 뺄 수 있는 선형구조 = First In First Out(FIFO)
- 먼저 들어온 순서대로 처리되어야 할 때, 먼저 해야하는 일을 정리해야 할 때 등에 활용
해쉬 테이블
- 컴퓨팅에서 키를 값에 매핑할 수 있는 구조인, 연관 배열 추가에 사용되는 자료 구조이다. 해시 테이블은 해시 함수를 사용하여 색인(index)을 버킷(bucket)이나 슬롯(slot)의 배열로 계산한다.
- 데이터의 검색과 저장이 아주 빠르게 진행된다.
- 딕셔너리가 해쉬테이블과 같은 말
'What I Learned > SpartaCodingClub' 카테고리의 다른 글
[내일배움캠프] 2022-11-25 TIL (0) | 2022.11.25 |
---|---|
[내일배움캠프] 2022-11-24 TIL (0) | 2022.11.24 |
[내일배움캠프] 2022-11-22 TIL (0) | 2022.11.22 |
[내일배움캠프] 2022-11-21 TIL (0) | 2022.11.21 |
[내일배움캠프] 2022.11.14. ~ 2022.11.20. WIL (0) | 2022.11.19 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 백준
- 2053
- 24060
- Wil
- SQL
- programmer
- 10807
- 26069
- 2587
- 1269
- 25192
- Python
- 2903
- 항해+
- 2738
- 20920
- 항해 플러스
- 24723
- 25501
- 4134
- 코육대
- til
- 13241
- MySQL
- 벡준
- 13909
- 17103
- 5597
- 24313
- Programmers
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
글 보관함