본문 바로가기

백준84

[백준/Python] 2738번 행렬 덧셈 문제 ■ 2738번 행렬 덧셈 문제 ■ 코드 풀이 크게 어렵지 않은 문제입니다. 우선 행렬 A와 B의 row 개수는 N으로 동일하므로 입력을 2*N번만큼 한 번에 받아서 temp라는 list에 append 합니다. 그리고 다시 for loop를 돌면서 list의 element-wise 덧셈을 실행하는 함수를 실행(map) 합니다. 출력은 end 옵션을 활용하고 한 줄의 연산이 끝나면 print()로 줄 바꿈 효과를 줍니다. import sys def Add_elementwise(elements): x, y = elements return x+y N,M = map(int, sys.stdin.readline().split()) temp = [] for i in range(2*N): temp.append(list(.. 2023. 4. 1.
[백준/Python] 1316번 그룹 단어 체커 문제 ■ 1316번 그룹 단어 체커 문제 ■ 코드 풀이 두 가지 풀이법을 공유드리겠습니다. 하나는 제가 풀었던 방식이고, 다른 하나는 조금 더 개선된 방식입니다. 소요 시간은 동일하지만, 코드 길이에서 차이가 있어서 실전에서는 개선 방식대로 푸는 것이 좋아 보입니다. 그러나 파이썬을 막 배우기 시작하신 분이시라면 스터디를 위해서 두 코드 모두 보시는 것을 추천드립니다. 먼저 첫 번째 코드입니다. 아이디어는 다음과 같습니다. 1) 입력받은 단어를 word라는 변수로 선언한다. 그리고 word를 list화한 word_list도 선언한다. 2) word에서 알파벳을 한 글자씩 꺼낸다. 꺼낸 알파벳을 활용하여 word_list에 해당 알파벳이 몇 번째 있는지 index를 구한다. index는 char_idx_list.. 2023. 3. 30.
[백준/Python] 2941번 크로아티아 알파벳 문제 ■ 2941번 크로아티아 알파벳 문제 ■ 코드 풀이 저는 복잡하게 문제를 접근했는데, 파이썬 고수분들은 replace 메서드를 활용하여 굉장히 쉽게 푸시더군요. 파이썬 문법에 대해 아직 배워야 할 것들이 많이 남은 것 같습니다. 여기서 핵심은 croatia_alphabets라는 list에서 하나씩 꺼내는데, 'dz=' 보다 'z='가 앞에 있으면 'dz='가 아니라 'z='로 바꿔서 오류가 나오므로 아래의 순서를 지키는 것이 중요합니다. replace 메서드 관련한 내용은 아래 잘 정리된 링크 첨부하니, 모르셨던 분들이라면 스터디 차원에서 들어가 보시는 것이 좋을 듯합니다. croatia_alphabets = ['c=','c-','dz=','d-','lj','nj','s=','z='] words = in.. 2023. 3. 29.