본문 바로가기
내일배움캠프 TIL

2023-09-21 사전캠프 14일차 TIL

by KMS_99 2023. 9. 22.

2023-09-21 사전캠프 14일차 TIL

- 책 독해

 모던 자바스크립트 Deep Dive (280p ~ 295p) : 프로토타입


- 알고리즘 문제풀이

1. 내배캠 일일 알고리즘 풀이 (프로그래머스)

- 문자열 뒤집기

문자열은 배열처럼 순회가 가능한 iterable한 자료형이다.

따라서 인수를 받은 my_string을 반복문을 통해 반대로 뒤집었으며, 입력받은 my_string의 길이를 len메서드를 통해서 구하였다. 길이의 -1은 마지막 인덱스이므로 마지막 인덱스 부터 0까지 범위를 지정하여 반복하였고 새로운 string 변수인 answer에 문자 하나씩 더해주었다.

 

- 가위 바위 보

가위 : 2, 바위 : 0, 보 : 5 로 지정하고 입력으로는 2, 0, 5로 이루어진 연속된 문자열을 받는다. (ex. '205205')

출력은 입력받은 문자열의 가위바위보를 이기는 경우의수로 변환하여 출력하는 것이다. (ex. '205' => '052')

 

이기는 경우의 수를 저장하기 위해서 파이썬의 딕셔너리를 활용하였다.

파이썬의 딕셔너리는 키와 값으로 이루어진 해시 자료형으로

각 키에는 가위, 바위, 보를 나타내는 2,0,5를 부여하였고 각 키마다 이기는 경우의 수를 값으로 지정하였다.

 

입력받은 문자열을 반복문을 통해 요소 하나씩 꺼내도록 하였고, 각 요소별 이기는 경우의 수가 필요하기 때문에 각 요소를 키값으로 하는 값을 호출하였다.

호출한 값들은 새로운 answer 변수에 문자열 형식으로 더해주었다.


- 백준 문제풀이 (단계별 문제풀이 8문제)

학습 내용

- sys.stdin.readline()으로 입력을 받았을 때 길이는 마지막 \n을 포함하기 때문에 +1이 된다. 

* input()으로 받으면 해결 가능

- 아스키코드 변환 : 숫자 => 문자 chr() / 문자 => 숫자 ord()

- a in list : 리스트 내부 요소가 있는지 확인 할 때 (boolean 값으로 평가)

- list.index() : 리스트 내 인덱스를 찾는 메서드로, 요소의 값을 통해 찾는다.