본문 바로가기

프로그래밍19

파이썬 코테용 유용한 함수 모음 문자열 다루기 문자열을 대문자로 바꾸기 string.upper()myString = 'hello world' print(myString.upper())# HELLO WORLD문자열을 소문자로 바꾸기 string.lower()myString = 'HELLO WORLD' print(myString.lower())# hello world모든 문자열이 대문자인지 확인 string.isupper()하나라도 소문자가 포함되면 FalseupperString = 'HELLO WORLD'print(upperString.isupper())# TruelowerString = 'hello world'print(lowerString.isupper())# False모든 문자열이 소문자인지 확인 string.islower()하나라.. 2025. 3. 23.
[코테] 그림 (실버1, 43%) 문제어떤 큰 도화지에 그림이 그려져 있을 때, 그 그림의 개수와, 그 그림 중 넓이가 가장 넓은 것의 넓이를 출력하여라. 단, 그림이라는 것은 1로 연결된 것을 한 그림이라고 정의하자. 가로나 세로로 연결된 것은 연결이 된 것이고 대각선으로 연결이 된 것은 떨어진 그림이다. 그림의 넓이란 그림에 포함된 1의 개수이다.입력첫째 줄에 도화지의 세로 크기 n(1 ≤ n ≤ 500)과 가로 크기 m(1 ≤ m ≤ 500)이 차례로 주어진다. 두 번째 줄부터 n+1 줄 까지 그림의 정보가 주어진다. (단 그림의 정보는 0과 1이 공백을 두고 주어지며, 0은 색칠이 안된 부분, 1은 색칠이 된 부분을 의미한다) 출력첫째 줄에는 그림의 개수, 둘째 줄에는 그 중 가장 넓은 그림의 넓이를 출력하여라. 단, 그림이 하나.. 2025. 1. 28.
[코테] 신고 결과 받기 ( Lv.1 (39%)) 문제신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다.각 유저는 한 번에 한 명의 유저를 신고할 수 있습니다.k번 이상 신고된 유저는 게시판 이용이 정지되며, 해당 유저를 신고한 모든 유저에게 정지 사실을 메일로 발송합니다.다음은 전체 유저 목록이 ["muzi", "frodo", "apeach", "neo"]이고, k = 2(즉, 2번 이상 신고당하면 이용 정지)인 경우의 예시입니다.유저 ID유저가 신고한 ID설명"muzi""frodo""muzi"가 "frodo"를 신고했습니다."apeach""frodo""apeach"가 "frodo"를 신고했습니다."frodo""neo""frodo"가 "neo"를 신고했습니다.. 2024. 10. 5.
[코테] 순위 Lv.3 (40%) 문제 ###### 문제 설명 n명의 권투선수가 권투 대회에 참여했고 각각 1번부터 n번까지 번호를 받았습니다. 권투 경기는 1대1 방식으로 진행이 되고, 만약 A 선수가 B 선수보다 실력이 좋다면 A 선수는 B 선수를 항상 이깁니다. 심판은 주어진 경기 결과를 가지고 선수들의 순위를 매기려 합니다. 하지만 몇몇 경기 결과를 분실하여 정확하게 순위를 매길 수 없습니다. 선수의 수 n, 경기 결과를 담은 2차원 배열 results가 매개변수로 주어질 때 정확하게 순위를 매길 수 있는 선수의 수를 return 하도록 solution 함수를 작성해주세요. ##### 제한사항 - 선수의 수는 1명 이상 100명 이하입니다. - 경기 결과는 1개 이상 4,500개 이하입니다. - results 배열 각 행 [A, .. 2024. 2. 19.
Github에 실수로 이미 올린 파일 삭제(history 삭제) 깃허브로 프로젝트를 진행하다 보면 꼭 한 번쯤은 파일을 잘못 올리게 됩니다. 팀프로젝트 때 팀원 한분이. env를 올린 적도 있었고, 배포 파일, log파일, 빌드파일 등등 같이 올려놓고 몰랐던 적도 있었죠.. git reset, revert 같이 커밋이 하나인 경우가 아닌, 이력에 쌓여있을 경우 해결책으로 repository를 다시 만들 수 없을 때 최후의 수단입니다 1. .gitignore 생성 루트 폴더에 .gitignore 파일을 만든 후, git이 추적에서 제외할 폴더나 파일을 입력합니다 직접 작성한 소스 파일, package.json 등 프로젝트를 나타내는 파일을 제외하고 모든 파일을 적으면 됩니다. 구글에 .gitignore + [사용 스택]으로 검색하면 template도 많습니다. 2. 로.. 2023. 11. 11.
n진법으로 변환하는 함수 10진법 -> n진법 구현 10보다 작은 n진법으로 변화하는 함수는 다음과 같습니다. # n이 10보다 작을 때 def to_nbase(num, n): s = "" while num != 0: s = str(num % n) + s num //= n return s n으로 나눈 나머지를 앞쪽부터 쌓아 올립니다. 몫이 0이 될 때까지 진행한 값을 반환하면 n진법으로 변환한 숫자가 됩니다. 하지만 10보다 큰 n진법으로 변환할 때에는 다른 함수가 필요합니다. 10진법 표현으로는 11,12와 같은 숫자를 한자리 수로 표현할 수 없기 때문에 알파벳을 추가하여 나타내게 됩니다. # n이 10보다 클 때(36까지) def to_nbase(num, n): chars = "0123456789ABCDEFGHIJKLMNOP.. 2023. 10. 1.
[코테] 콜라 문제 Lv. 1 (67%) 문제 설명 오래전 유행했던 콜라 문제가 있습니다. 콜라 문제의 지문은 다음과 같습니다. 정답은 아무에게도 말하지 마세요. 콜라 빈 병 2개를 가져다주면 콜라 1병을 주는 마트가 있다. 빈 병 20개를 가져다주면 몇 병을 받을 수 있는가? 단, 보유 중인 빈 병이 2개 미만이면, 콜라를 받을 수 없다. 문제를 풀던 상빈이는 콜라 문제의 완벽한 해답을 찾았습니다. 상빈이가 푼 방법은 아래 그림과 같습니다. 우선 콜라 빈 병 20병을 가져가서 10병을 받습니다. 받은 10병을 모두 마신 뒤, 가져가서 5병을 받습니다. 5병 중 4병을 모두 마신 뒤 가져가서 2병을 받고, 또 2병을 모두 마신 뒤 가져가서 1병을 받습니다. 받은 1병과 5병을 받았을 때 남은 1병을 모두 마신 뒤 가져가면 1병을 또 받을 수 있.. 2023. 8. 31.
마크다운 문법 정리 마크다운 이란? 마크다운을 사용하면 쉬운 문법으로 텍스트를 보기 쉽게 정리할 수 있는 언어입니다. 깃허브에서 README.md 파일을 작성하면 레포지터리의 메인 화면에 노출되는데 .md라는 확장자가 마크다운으로 작성된 파일입니다. VSCode를 사용하는 경우 Markdown All in One이라는 확장 프로그램을 설치하면 여러 도움을 받을 수 있습니다. ctrl + shift + x 키로 마켓플레이스로 들어간 뒤, markdown을 검색해서 설치할 수 있습니다. 간단 마크다운 문법 정리 1.# (제목1) (띄어쓰기 필수) 제목1 2.## (제목2) 제목2 3.### (제목3) 제목3 4. 1. (순서 있는 목록) 아이템1 아이템2 아이템3 5. - (순서 없는 목록) 아이템 아이템 아이템 6. ** (.. 2023. 8. 29.
[코테] 옹알이 (1) Lv. 0 (32%) 문제 설명 머쓱이는 태어난 지 6개월 된 조카를 돌보고 있습니다. 조카는 아직 "aya", "ye", "woo", "ma" 네 가지 발음을 최대 한 번씩 사용해 조합한(이어 붙인) 발음밖에 하지 못합니다. 문자열 배열 babbling이 매개변수로 주어질 때, 머쓱이의 조카가 발음할 수 있는 단어의 개수를 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ babbling의 길이 ≤ 100 1 ≤ babbling[i]의 길이 ≤ 15 babbling의 각 문자열에서 "aya", "ye", "woo", "ma"는 각각 최대 한 번씩만 등장합니다. 즉, 각 문자열의 가능한 모든 부분 문자열 중에서 "aya", "ye", "woo", "ma"가 한 번씩만 등장합니다. 문자열은 알파벳 소문자로.. 2023. 8. 27.
[코테] 정수를 나선형으로 배치하기 Lv. 0 (45%) 문제 설명 양의 정수 n이 매개변수로 주어집니다. n × n 배열에 1부터 n^2 까지 정수를 인덱스 [0][0]부터 시계방향 나선형으로 배치한 이차원 배열을 return 하는 solution 함수를 작성해 주세요. 제한사항 1 ≤ n ≤ 30 입출력 예 n result 4 [[1, 2, 3, 4], [12, 13, 14, 5], [11, 16, 15, 6], [10, 9, 8, 7]] 5 [[1, 2, 3, 4, 5], [16, 17, 18, 19, 6], [15, 24, 25, 20, 7], [14, 23, 22, 21, 8], [13, 12, 11, 10, 9]] 입출력 예 설명 입출력 예 #1 예제 1번의 n의 값은 4로 4 × 4 배열에 다음과 같이 1부터 16까지 숫자를 채울 수 있습니다.행 .. 2023. 8. 27.
[Flutter] 플러터 설치 (for Mac) 2023.06.26 - [프로그래밍/Flutter] - 플러터(Flutter)로 1인 앱개발을 하려는 이유? 2023.08.03 - [프로그래밍/Flutter] - [Flutter] 플러터 설치 (for 윈도우) 1. 플러터 SDK 설치하기 https://docs.flutter.dev/get-started/install Install Install Flutter and get started. Downloads available for Windows, macOS, Linux, and ChromeOS operating systems. docs.flutter.dev 위에 링크에 들어가서 macOS용 SDK를 다운로드하고 압축을 해제합니다. 인텔 프로세서인지, 애플 실리콘인지에 따라 알맞은 SDK를 다운로드합니.. 2023. 8. 7.
[Flutter] 플러터 설치 (for 윈도우) 2023.06.26 - [프로그래밍/Flutter] - 플러터(Flutter)로 1인 앱개발을 하려는 이유? 1. 플러터 SDK 설치하기 https://docs.flutter.dev/get-started/install Install Install Flutter and get started. Downloads available for Windows, macOS, Linux, and ChromeOS operating systems. docs.flutter.dev 위에 링크에 들어가서 OS에 맞는 SDK를 다운로드하고 압축을 해제합니다. 위치는 어디든 상관이 없지만 웬만하면 유저 폴더나 문서 폴더 같은 의미 있는 곳에 해제해 줍니다. SDK의 bin 폴더 경로를 환경 변수에 등록해 주어야 하기 때문에 잘 기억.. 2023. 8. 3.