[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로 선언했어야 했다…!
  • 그리고 위와 같이 바꿔서 제출했지만 테스트용으로 넣어둔 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 지원