본문 바로가기

코딩 테스트/Python_백준88

[백준/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.
[백준/Python] 4344번 평균은 넘겠지 문제 ■ 4344번 평균은 넘겠지 문제 ■ 코드 풀이 제가 생각했을 때, 이 문제의 핵심은 list 자료형의 element-wise 대소 관계 비교와 출력 형식을 지정한 print인 것 같습니다. 저 같은 경우에는 students라는 list에 학생의 수와 점수를 모두 받은 다음에 가장 첫 번째 index인 학생의 수를 pop 메서드를 활용해 리스트에서 추출했습니다. 그리고 이를 활용해 mean을 구했습니다. 리스트 내 개별 원소의 대소 관계 비교는 map과 lambda 함수를 활용했는데요. for 문을 이용하여 풀어도 되지만, 코드가 지저분해져서 저는 보통 이런 경우에 lambda 함수를 즐겨 사용합니다. 소수점 넷째 자리에서 반올림하여 출력하기 위한 형식은 아래 코드를 참고해 주세요. import sys .. 2023. 3. 28.
[백준/Python] 1157번 단어 공부 문제 ■ 1157번 단어 공부 문제 ■ 코드 풀이 저는 이 문제를 dict 자료형을 사용해서 어렵고 지저분하게 풀었는데요. 찾다 보니, 조금 더 깔끔한 코드가 있어서 스터디 차원에서 그 코드를 가져왔습니다. 제가 생각했을 때 이 코드에서의 핵심은 set과 count 메서드를 활용하는 것 같습니다. words = input().upper() unique_words = list(set(words)) words_counts = list() for unique_word in unique_words: word_count = words.count(unique_word) words_counts.append(word_count) if words_counts.count((max(words_counts))) > 1: print.. 2023. 3. 27.