[Daily Post] 230503
[Daily Post]는 매일매일 탐구한 내용을 간략하게 기록하는 포스트입니다.
따라서 정리되지 않은 내용과 추측을 포함하고 있을 수 있습니다.
더 체계적인 형식을 갖춘 글은 해당 카테고리의 포스트를 확인해주세요 :)
JS
Daily Study
PS
10798. 세로읽기
- 파이썬으로 2차원 배열을 선언하고, 활용할 줄 아느냐
- arr에 대해 len(arr)을 하면 배열의 길이를 반환한다. 즉, 배열의 원소 갯수를 반환하기 때문에 한 줄 입력받고 그에 대한 len()을 실행하면 1을 반환하는 것!
arr = []
answer = ""
for i in range(5):
line = input()
cnt = len(line)+1
while(cnt < 15):
line = line + " "
cnt += 1
arr.append(line)
print(arr)
for j in range(15):
for i in range(5):
if(arr[i][j]!=" "):
answer = answer + arr[i][j]
else:
continue
print(answer)
- 위와 같이 작성했을 때, 다음과 같은 에러를 반환한다.
- 선언한 배열의 범위를 넘어서는 값을 참조했다는 것 같은데, 눈으로만 읽었을 때는 문제가 없는 것 같다고 느끼는걸 보니 대단한 실수를 하고 있나보다.
Traceback (most recent call last):
File "/Users/snp/Problem_Solving/BAEKJOON/ps.py", line 15, in <module>
if(arr[i][j]!=" "):
~~~~~~^^^
IndexError: string index out of range
snp@Seung-Giui-MacBookPro Problem_Solvi
- 원인을 찾았다! 사용자 입력값을 받고 문자열의 길이가 15가 될 때까지 채우는 반복문에서 실행횟수를 15로 제한해서 그렇다!
- 길이가 15가 되려면
cnt < 16으로 하거나cnt <= 15로 선언했어야 했다…!
- 길이가 15가 되려면
- 그리고 위와 같이 바꿔서 제출했지만 테스트용으로 넣어둔
print(arr)을 빼지 않아서 틀렸다. - 어쨌든 답을 찾았다..! 다음에는 같은 실수를 하지 않도록 주의하자
1316. 그룹 단어 체커
- 이건 파이썬을 몰라서 못 푸는게 아니라.. 로직을 못 건드리고 있었다.
- 침착하게 표를 그리니까 케이스 분기가 명확하게 나뉘었다. 해결 완료!
2563. 색종이
- 2차원 배열 마지막 문제. 정해진 갯수만큼 2차원 배열을 할당하는 것이 아니고, 배열의 크기가 지정되어 있었다.
- 정해진 크기의 배열을 선언하는 방식을 검색해보니
array = [[0 for col in range(10)] for row in range(10)]와 같은 방식이 나왔다 - 1트만에 해결 완료!
CS 계획
- CS: 전공필수 강의 교안들 복습하고 잘 모르겠으면 질문하기
- 평일 1시간, 주말 2시간: 설명할 수 있도록, 변별력을 놓치지 않기. 시간 아깝다 생각하지 말고 덤빌 것.
- 강의 목록
- 컴퓨터구조개론: CA
- 알고리즘개론: AL
- 자료구조개론: DS
- 운영체제: OS
- 시스템프로그램: SP
- 데이터베이스개론: DB
- 프로그래밍언어: PL
- 컴퓨터네트웍개론: CN
- 소프트웨어공학개론: SE
Career
- 다음주부터 인턴 & RA 지원