프로그래밍 공부/Python9 [Python] 2차원 배열에서 최댓값 찾기 보통 2차원 배열에서 최댓값을 찾는다고 하면 다음과 같이 코드를 작성하는 경우가 많다. for 반복문을 돌면서 최댓값을 저장할 변수의 값을 업데이트해서 값을 구하는 방식이다. 하지만, 파이썬에서는 다음의 코드로 보다 짧게 2차원 배열에서 최댓값을 구할 수 있다. max() 함수와 map() 함수를 위와 같이 사용하면 한 줄의 코드로 2차원 배열의 최댓값을 찾을 수 있다. 🚨 주의 💥💥💥 위와 같이 코드를 작성하지 않고 아래와 같이 단지 max() 함수를 2번 사용하기만 해서는 잘못된 값이 나올 수 있다. 프로그래밍 공부/Python 2023. 10. 9. [Python] 정규 표현식 링크 정리 🏷️ Reference: https://nachwon.github.io/regular-expressions/ [Python 문법] 정규표현식 (Regular Expressions) 정규표현식에 대해 알아보고 Python으로 정규표현식을 사용하는 방법에 대해 알아본다. nachwon.github.io https://wikidocs.net/4308 07-2 정규 표현식 시작하기 [TOC] ## 정규 표현식의 기초, 메타 문자 정규 표현식에서 사용하는 메타 문자(meta characters)에는 다음과 같은 것이 있다. > 메타 문자란 원래 그 문자… wikidocs.net https://docs.python.org/ko/3.8/howto/regex.html 정규식 HOWTO — Python 3.8.14 문서.. 프로그래밍 공부/Python 2022. 11. 29. [Python] EOF 에러 처리 백준에서 문제를 풀다 보면 입력의 종료 조건을 주지 않는 문제들이 가끔 보인다. 이때 입력값이 없을 때까지 input() 함수로 데이터를 읽어 들이려면, while 반복문과 try-except 구문을 이용하면 된다. 데이터를 정상적으로 입력받는다면 try 문의 내용을 수행하고, 입력값이 없어 예외(EOFError)가 발생한다면 except 문에서 break로 반복문을 종료시켜주면 된다. 코드는 아래와 같이 사용하면 된다. 🔍️ 문법: 🏷️ Reference: - 관련 문제 : https://www.acmicpc.net/problem/6550 6550번: 부분 문자열 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 문자열 s 와 t가 빈칸을 사이에 두고 들어.. 프로그래밍 공부/Python 2022. 11. 8. [Python] 정렬 함수에 대해서 # 1 평소처럼 알고리즘 문제를 풀고 나서 내 풀이와 다른 사람의 풀이를 비교하는 중에 내 풀이보다 짧고 단순해 보이는 풀이를 발견해 내 풀이 맞게 코드를 수정했지만 결괏값이 일치하지 않았다. 그래서 전체 코드를 하나씩 비교해보니 내 풀이와 정렬하는 부분에서 다르다는 것을 확인했고, 이 차이는 아래와 같다. 나는 위의 1번 방법으로 정렬했지만, 다른 풀이는 2번 방법으로 정렬을 해주었다. 이렇게 서로 다른 방법으로 정렬을 했을 때의 결과는 아래의 이미지와 같은데, 보다시피 정렬의 결과가 다르게 나온다. 이 결과를 보고 파이썬의 문법을 다시 떠올려보니 내가 적용했던 첫 번째 방법은 인덱스 0번 원소를 기준으로 오름차순 정렬을 하고, 동일한 원소의 값이 존재하면 인덱스 1번 원소를 기준으로 또 정렬을 해주는.. 프로그래밍 공부/Python 2022. 8. 27. [Python] 합집합, 교집합, 차집합, 대칭 차집합 1) 합집합 2) 교집합 3) 차집합 4) 대칭 차집합 Reference) https://docs.python.org/ko/3.8/library/stdtypes.html#set-types-set-frozenset 프로그래밍 공부/Python 2022. 5. 29. [Python] deque의 rotate() deque 의 rotate(n=1) deque의 원소를 오른쪽으로 돌린다. n이 음수이면 왼쪽으로 돌린다. deque가 비어 있지 않을 때 오른쪽으로 한 단계 회전하는 것은 왼쪽 d.appendleft(d.pop())과 같고, 왼쪽으로 한 단계 회전하는 것은 왼쪽 d.append(d.popleft()와 같다. Example) Reference) https://docs.python.org/3/library/collections.html#collections.deque.copy 프로그래밍 공부/Python 2022. 5. 17. [Python] tuple을 원소로 가지는 리스트의 정렬 https://www.acmicpc.net/problem/11650 11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 위의 문제는 x좌표를 기준으로 오름차순으로 정렬하고, x좌표가 같은 경우 y좌표를 기준으로 오름차순으로 정렬하여 결괏값을 출력하는 문제이다. 문제에서 요구하는 방법대로 구현하기 위해 파이썬의 내장함수와 key 속성을 이용하여 문제를 해결했다. 하지만 패캠의 강의를 들으며 미쳐 알지 못했던 부분을 알게 되었다. 그 내용은 다음과 같다. 파이썬의 .. 프로그래밍 공부/Python 2021. 10. 22. [Python] 리스트 복사 vs 리스트 변수 복사 파이썬의 변수는 C++의 '값'보다 '참조'에 가깝다. 이 말의 뜻을 다음의 예시를 통해 확인해보자. 위의 코드는 1, 2, 3을 원소로 가지는 리스트 a_list를 생성하고, b_list에 a_list를 대입했다. 그리고 append() 함수를 사용해 b_list에 4, 5, 6의 값을 추가하고, print() 함수를 사용해 a_list와 b_list를 출력했다. 두 리스트 중 b_list에만 원소를 추가했는데 a_list의 값도 4, 5, 6이 들어가 있는 것을 확인할 수 있다. 코드가 이렇게 동작한 이유는 대입 연산자를 사용해서 b_list에 a_list를 대입할 때 리스트의 값이 아닌 객체의 주소값을 대입했기 때문이다. a_list가 참조하고 있는 객체의 주소를 b_list에 대입해서 같은 객체를.. 프로그래밍 공부/Python 2021. 8. 22. [Python] casefold()와 lower() - lower() : 모든 문자가 소문자인 문자열을 반환한다. - casefold() : 모든 문자가 소문자인 문자열을 반환한다. 이 메서드는 lower() 메서드와 유사하지만 유니코드가 아닌 문자열도 변환해 준다. 참고 문헌) https://www.w3schools.com/python/ref_string_casefold.asp https://www.w3schools.com/python/ref_string_lower.asp 프로그래밍 공부/Python 2021. 8. 17. 이전 1 다음