아스키 코드에 대해서 알아보는 문제이다. ord -> 문자의 아스키 코드값을 리턴 (문자를 숫자로!) chr -> 아스키 코드값 입력으로 받아 그 코드에 해당하는 문자를 출력 (숫자를 문자로!)
알파벳(a~z)의 아스키 코드 번호는 97부터 123이다.문자열.find(a) : 문자열에서 a를 찾음\-> 첫번째 인자 : 찾을 문자열 혹은 찾을 문자 \-> 두번째 인자 : 어디서부터 찾을지 (시작 index), 생략시 0 \-> 세번째 인자 : 어디까지 찾을지 (
b 배열은 각각 총 16개의 피스로 구성되어 있는, 킹 1개, 퀸 1개, 룩 2개, 비숍 2개, 나이트 2개, 폰 8개를 나타낸 것이다.a로 각 피스의 갯수를 입력받은 후 전체 갯수인 b에서 a를 빼준다.\*\*리스트를 통째로 뺄 수 없으니 주의!for문을 이용하여 각
x : 영수증 총 금액n : 구매한 물건들의 총 갯수입력받은 n개만큼 a(각 물건의 가격), b(각 물건의 갯수)를 for문을 사용하여 입력받는다.if 총 합이 영수증 총 금액과 같다면, "Yes"elif 같지 않다면, "No"
list명.count(찾고자 하는 문자) 해당 list 안에 찾고자 하는 문자가 몇 개 있는지 갯수를 셈
list명.index(찾고자 하는 값) 찾고자 하는 값을 list에서 탐색하여 해당 인덱스 값을 반환함
28개의 정수를 입력받아 배열 a에 저장한다1번부터 30번까지를 배열 b에 저장한다b에서 a에 있는 값을 제거하는 배열 c를 생성해준다배열 c의 최솟값, 최댓값을 구하여 최종 결과값을 구한다
n값을 입력받음a : 반복할 수, b : 문자열for문을 사용하여 문자열(b)의 각 자릿수(j)를 추출하여 a를 int로 바꿔 반복print()를 하여 줄바꿈을 해주어야한다!!여기에서 에러났음,,
num을 입력for문을 통해 1부터 num까지 순차적으로 탐색numlist에 숫자를 자릿수별로 입력ex) 99 -> 9,9100미만의 수는 등차수열인지 비교대상이 없기 때문에 모두 한수이므로 cnt++100이상의 수는 각 자릿수의 차를 비교하여 차이가 일정할 때에만 c
dia 배열에 각 문자를 입력입력받은 문자열 st과 dia의 문자열을 비교st의 각 자릿수에 맞는 dia의 인덱스를 cnt에 더함인덱스 값에 3 더하기
num 배열에 set을 이용하여 1~10000까지 채우기생성자가 있는 숫자를 넣어주기 위한 배열 num2 생성반복문을 통해 생성자가 있는 숫자를 num2에 addex) i = 12 -> j = '1','2' / then, i = 12+1+2 = 15따라서 num2에 1
단어의 갯수 n을 입력받음그룹 단어의 갯수 cnt를 n과 동일시갯수 n만큼 단어 a를 입력반복문을 사용하여 a의 앞자리수부터 바로 옆자리와 비교하여 같지않으면, 그 뒤에 해당 문자가 존재하는지 확인만약 존재한다면 cnt의 값을 하나씩 제거하고 break
Test case값이 t를 입력층수 f 입력호수 n 입력0층 리스트인 f0을 입력층수만큼 반복문 실행0층 : 1, 2, 31층 : 1, 3, 62층 : 1, 4, 10위의 예시처럼 두번째 숫자는 f-1층의 n호까지의 수를 더한 것!배열 f0의 마지막 수를 출력!(마지막
n값을 입력피보나치 수를 구하기 위한 함수 fibo 생성n이 0이면 0을 return / n이 1이면 1을 return그 외의 값이면 재귀함수 사용처음에 마지막 문장을 fibo(n)라고만 해줘서 출력은 잘 되는데 답이 틀렸다고 떠서 너무 의아했는데 print(fibo(
사람의 수 n 입력각 사람이 돈을 인출하는데 걸리는 시간 p 입력시간의 합을 최소로 만들기 위해 p를 정렬반복문을 이용해 리스트 p의 첫번째 인덱스부터 i번까지의 시간의 합을 구함그 합을 더해서 최종 답인 res를 print👉 \[백준] 11399번: ATM - 파이
n킬로그램 입력while 반복문을 활용하여 5의 배수가 될 때까지 설탕의 무게에서 3씩 빼가기cnt는 3kg 뺄 때는 1씩, 5kg을 뺄 때는 n에서 5를 나눈 몫만큼 minus반복문이 끝난 후, n이 음수값이라면 정확하게 n킬로그램만큼 설탕 봉지 갯수를 채우지 못한
타로가 지불할 돈 n 입력잔돈 배열 money 생성반복문으로 배열값을 하나씩 돌아가며 갯수 cnt에 change에 i를 나눈 몫 addchange값은 나머지값으로 변환👉 \[백준] 5585번: 거스름돈 - 파이썬
문자열을 배열 st로 입력받음len을 사용하여 배열의 문자열 길이 출력 split()를 활용해 문자열의 길이를 띄어쓰기마다 잘라주면 간단하게 문제를 해결할 수 있음!! 정답 비율에 비해 쉬운 문제였다. 겁먹지 말자!!👉 \[백준] 1152번: 단어의 개수 - 파이썬
수의 갯수 n 입력반복문으로 n개의 수 만큼 a값 받아오기입력받은 a를 배열 res에 appendres를 sort하여 오름차순 정렬예시 출력처럼 결과가 나오도록 res를 반복문을 사용하여 하나씩 print👉 \[백준] 2750번: 수 정렬하기 - 파이썬값을 입력받을
세 수를 배열 a로 입력받음sort()를 사용하여 a를 오름차순으로 정렬두 번째 큰 수인 인덱스 1번을 print👉 \[백준] 10817번: 세 수 - 파이썬
문제📝 결과😍 코드💻 풀이💡 > 1. 값을 리스트로 입력받음 reverse sort로 내림차순 정렬 정렬된 배열을 반복문으로 차례대로 print 참고🙏 >👉 [[백준] 1427번: 소트인사이드 - 파이썬](https://www.acmicpc.net/p
테스트 케이스 t 입력재귀함수 res 생성이 문제는 DP 문제이다따라서 DP 접근을 위해 패턴이나 규칙을 찾기 위해 경우의 수를 구했다.1 -> 1개2 -> 2개3 -> 4개4 -> 7개5 -> 13개위의 규칙을 봤을 때, 5번째는 4,3,2 번째의 경우의 수를 더한
문제📝 결과😍 코드💻 풀이💡 > 1. 동전의 종류 n, 가치의 합 k 입력 반복문을 사용하여 동전의 종류를 배열 array에 append array를 내림차순으로 정렬하여 값이 큰 것부터 오도록 반복문을 통해 동전의 개수 cnt에 k 나누기 j의 몫을 ad
문제📝 결과😍 코드💻 풀이💡 >1. d에 계산된 값을 저장해둔다. x+1이라고 한 이유는 1번째 수는 d[1]이 아니고 d[2]이기 때문에 계산하기 편하게 d[1]을 1번째인 것처럼 만들어준다. for문에서 1을 빼고 시작하는 이유 : 다음에 계산할 나누기
인덱스가 0번부터 시작하므로 (i+1)이 10으로 나누어 떨어져야즉, 9번째 인덱스이면 다음 문자를 줄바꿈하고 출력할 수 있도록 end='\\n'을 추가함👉 \[백준] 11721번: 열 개씩 끊어 출력하기 - 파이썬for문을 통해서 0부터 len(n)으로 n의 문자열
크로아티아 알파벳을 배열 alpha에 저장배열은 순회하며 입력한 문자열 n에 크로아티아 알파벳이 존재한다면(i가 존재한다면), 해당 부분을 \*로 replace이 부분은 \*이 아니라 한글자인 모든 것으로 replace할 수 있다. 본질은 크로아티아 알파벳을 한글자로
if로 배열값을 비교해주면 되는 문제! 쉬운 문제였다!👉 \[백준] 2920번: 음계 - 파이썬입력받은 배열 a를 오름차순으로 정렬한 값과 비교했을 때 같다면, ascending내림차순으로 정렬한 값과 같다면, descending둘 다 아니라면, mixed
입력받은 수를 배열로 저장해서 각 배열의 제곱수를 구한다.그 다음 10으로 나눈 나머지를 구한 뒤, print!👉 백준 2475번: 검증수 - 파이썬
st로 알파벳을 입력받음소문자로 바꿔주기 위해 lower() 사용set을 사용하여 중복을 제거한 문자열 st2을 추가로 생성반복문을 이용하여 문자열 갯수를 array 배열에 저장가장 많이 사용된 알파벳이 동일한 경우, ?를 print그렇지 않은 경우, array 최댓값
점의 개수 n을 입력받음반복문을 통해 n의 수 만큼 x,y를 입력받아 배열 res에 appendres를 정렬! => 이 과정에서 1) x순으로 정렬, 2) y순으로 정렬👉 \[백준] 11650번: 좌표 정렬하기 - 파이썬sys.stdin.readline()을 이용한
수의 개수 n 입략배열 a 입력반복문을 통해 소수가 아닌 값(1과 자기자신 이외의 다른 자연수로 나눠지는 값)을 배열 b에 저장1인 경우는 따로 빼서 배열 b에 저장해준다(1은 소수가 아니다!)a에서 소수가 아닌 값들 b를 빼주기 위해 set 집합 연산자를 이용list
맨 밑의 자리, 즉, 4 5 2 6 5 각 자리에 올 수 있는 가장 큰 값을 구하고 그 값들 중에서 가장 큰 값을 출력해주면 된다.값을 입력받음맨 왼쪽 숫자들(di)과 맨 오른쪽 숫자들은 바로 위의 숫자들을 add나머지 가운데에 있는 숫자들은 왼쪽 위의 숫자와 오른쪽
bee는 벌집의 개수를 나타내는 변수, cnt는 벌집의 겹수while문을 반복. n이 bee보다 큰 경우에만 반복bee의 변수에는 6의 배수를 더해서 점차 증가(각 층의 마지막 숫자는 이전의 bee의 변수에 6\*cnt를 더한 수와 동일)👉 \[백준] 2292번: 벌
주어진 괄호들을 배열 형태로 a에 저장a를 처음부터 순회하며 '('인 경우, sum +1')'인 경우, sum -1배열 a에 대한 반복문을 돌며 sum이 음수인 경우, NO를 print하며 break모든 반목문을 다 돌고나서, sum이 양수이면 괄호 모양이 바르게 구성
해당 문제는 int(input())으로 풀면 !시간초과 에러!가 뜬다. 따라서 import sys을 선언한 뒤, int(sys.stdin.readline())을 해줘야 한다.👉 \[백준] 2751번: 수 정렬하기 2 - 파이썬
n, m을 입력받아 int로 변환카드에 쓰여 있는 수들을 list로 저장문제에 맞는 수를 저장하기 위한 변수 res 선언3개의 카드를 뽑고 이에 대한 모든 경우의 수를 살펴보기 위해 3중 for문을 사용각 더한 값이 m보다 큰 경우, continuem보다 크지 않은 경
숫자 n 입력n개의 수만큼 단어를 입력하여 a에 저장중복된 단어를 제거하기 위해 set으로 변경한 뒤, 다시 list로 변경(sort를 해야하기에)길이가 짧은 것부터 정렬해야 하기에 sort_a 배열에 단어 길이와 단어를 나란히 저장sort_a를 정렬하면, 길이가 짧은
에라토스테네스의 체(소수 구하기) 문제이다.1은 소수가 아니므로 제외해준다(처음에 이 부분을 간과해서 오류가 났다)반복문의 범위는 2부터 int(i\*\*0.5)+1특정 수의 제곱근을 구해서 그 제곱근까지의 약수를 구하면 해당 약수를 포함하는 수를 모두 제거할 수 있다
유클리드 호제법을 사용하여 푸는 문제이다.n, m의 최대공약수 : m, n을 m으로 나눈 나머지의 최대공약수n, m의 최소공배수 : n과 b의 곱을 n과 m의 최대공약수로 나눈 값유클리드 호제법: 호제법이란 말은 두 수가 서로 상대방 수를 나누어서 결국 원하는 수를 얻
반복문으로 age랑 name 입력=> 1. 나이순 정렬, 2. 먼저 가입한 순으로 정렬2번을 행하기 위해서 배열 a에 i를 추가하여 순번을 같이 지정따라서, 정렬을 하면 1.age 2.i 3.name 순으로 정렬됨나이는 int로 재정의해준다!!👉 \[백준] 10814