
1402. 거꾸로 출력하기 3 데이터 n개가 입력되면, 입력의 역 순으로 출력하는 프로그램을 작성하자. 첫째 줄에 데이터의 개수 n이 입력되고, 둘째 줄에는 공백을 기준으로 n개의 데이터가 입력된다. 배열 사용하기 #include int main(void){ int n; scanf("%d", &n); int arr[n]; for(int i=0; i=0; i--){ if(i==0) printf("%d",arr[i]); else printf("%d ",*(arr+i)); } } 동적 메모리 사용하기 #include #include int main(void){ int n; scanf("%d", &n); int *parr = (int*)malloc(sizeof(int)*n); //동적 메모리 할당 여부 확인 i..

문제. 전화를 걸고 싶은 번호가 있다면, 숫자를 하나를 누른 다음에 금속 핀이 있는 곳 까지 시계방향으로 돌려야 한다. 숫자를 하나 누르면 다이얼이 처음 위치로 돌아가고, 다음 숫자를 누르려면 다이얼을 처음 위치에서 다시 돌려야 한다. 숫자 1을 걸려면 총 2초가 필요하다. 1보다 큰 수를 거는데 걸리는 시간은 이보다 더 걸리며, 한 칸 옆에 있는 숫자를 걸기 위해선 1초씩 더 걸린다. 상근이의 할머니는 전화 번호를 각 숫자에 해당하는 문자로 외운다. 즉, 어떤 단어를 걸 때, 각 알파벳에 해당하는 숫자를 걸면 된다. 예를 들어, UNUCIC는 868242와 같다. 할머니가 외운 단어가 주어졌을 때, 이 전화를 걸기 위해서 필요한 최소 시간을 구하는 프로그램을 작성하시오. 입출력. 첫째 줄에 알파벳 대문..

1581. swap함수 만들기 이 문제는 두 변수의 값을 바꾸는 함수를 구현하는 문제입니다. 아래 내용을 참고해서 풀어보세요. 함수명 : myswap 매개 변수 : 정수형 포인터 변수 변수 2개(매개변수를 반드시 int∗로 사용) 반환 값 : 없음 함수 내용 : 첫 번째 포인터가 가리키는 변수의 값이 두 번째 포인터가 가리키는 변수의 값보다 클 경우 두 값을 교환 1회. 문제 그대로 풀기 #include void myswap(int * pa, int * pb){ if(*pa > *pb){ int temp = *pa; *pa = *pb; *pb = temp; }else return; } int main(){ int a, b; scanf("%d%d", &a, &b); myswap(&a, &b); printf..

문제. 상수는 수를 다른 사람과 다르게 거꾸로 읽는다. 예를 들어, 734와 893을 칠판에 적었다면, 상수는 이 수를 437과 398로 읽는다. 따라서, 상수는 두 수중 큰 수인 437을 큰 수라고 말할 것이다. 두 수가 주어졌을 때, 상수의 대답을 출력하는 프로그램을 작성하시오. 입출력. 첫째 줄에 상근이가 칠판에 적은 두 수 A와 B가 주어진다. 두 수는 같지 않은 세 자리 수이며, 0이 포함되어 있지 않다. 첫째 줄에 상수의 대답을 출력한다. 방법. 먼저 상근이의 방식으로 숫자를 뒤집고 대소를 비교해 더 큰 숫자를 출력한다. #include int check(int a, int b); int main(void){ //문제02908 / 2021.03.10 int a, b; scanf("%d %d",..

문제. 영어 대소문자와 띄어쓰기만으로 이루어진 문자열이 주어진다. 이 문자열에는 몇 개의 단어가 있을까? 이를 구하는 프로그램을 작성하시오. 단, 한 단어가 여러 번 등장하면 등장한 횟수만큼 모두 세어야 한다. 입출력. 첫 줄에 영어 대소문자와 띄어쓰기로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 띄어쓰기 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열의 앞과 뒤에는 공백이 있을 수도 있다. 첫째 줄에 단어의 개수를 출력한다. 방법. %[입력 조건]을 활용해보려고 한다. 만약 소문자 입력만 가능하다고 하면 %[a-z]라고 표현할 수 있고, 1~3까지만 입력 가능하다면 %[123] 또는 %[1-3]으로 표현할 수 있다. 만약 입력하면 안 ..

1402. 2차원 배열 순서대로 채우기 1-1 데이터 n개가 입력되면, 입력의 역 순으로 출력하는 프로그램을 작성하자. 첫째 줄에 데이터의 개수 n이 입력되고, 둘째 줄에는 공백을 기준으로 n개의 데이터가 입력된다.다음과 같은 n*n 배열 구조를 출력해보자. 입력이 3인 경우 다음과 같이 출력한다. 1 2 3 4 5 6 7 8 9 배열 사용하기 #include int main(void){ int n; scanf("%d", &n); int arr[n][n]; int num=1; //2차원 배열 초기화 for(int i=0; i

1402. 거꾸로 출력하기 3 데이터 n개가 입력되면, 입력의 역 순으로 출력하는 프로그램을 작성하자. 첫째 줄에 데이터의 개수 n이 입력되고, 둘째 줄에는 공백을 기준으로 n개의 데이터가 입력된다. 배열 사용하기 #include int main(void){ int n; scanf("%d", &n); int arr[n]; for(int i=0; i=0; i--){ if(i==0) printf("%d",arr[i]); else printf("%d ",*(arr+i)); } } 포인터 변수 사용하기 #include int main(void){ int n; scanf("%d", &n); int arr[n]; int *p = arr; for(int i=0; i=0; i--){ if(i==0) printf("%d..

📌 파이썬 기초 속성 강의 복습 👉 [리스트] a = [1,2,3,4] b = ["a","b","c"] c = [5,6,"d","e"] d = [5,6] print(a) #[1,2,3,4] print(b) #["a","b","c"] print(c) #[5,6,"d","e"] print(a+b) #[1,2,3,4,"a","b","c"] print(c-d) #ERROR print(d*3) #[5,6,5,6,5,6] ✔ 자료형에 상관없이 여러 값을 저장할 수 있다. ✔ 리스트와 리스트 사이의 덧셈이 가능하며 출력 시 대괄호까지 출력된다. (뺄셈은 오류 발생) ✔ 곱셈 연산자를 사용하면 해당 리스트의 요소를 n번씩 반복 출력한다. a = [1,2,3,4] print(a[0]) #1 a[3]=10 print(a[..

10818. 최소, 최대 N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오. import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int min, max; int n = sc.nextInt(); int []arr = new int[n]; min = 1000000; max = -1000000; for(int i=0; iarr[i]) min=arr[i]; if(max

문제. 문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다. S에는 QR Code "alphanumeric" 문자만 들어있다. QR Code "alphanumeric" 문자는 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\$%*+-./: 이다. 입출력. 첫째 줄에 테스트 케이스의 개수 T(1 ≤ T ≤ 1,000)가 주어진다. 각 테스트 케이스는 반복 횟수 R(1 ≤ R ≤ 8), 문자열 S가 공백으로 구분되어 주어진다. S의 길이는 적어도 1이며, 20글자를 넘지 않는다. 각 테스트 케이스에 대해 P를 출력한다. 방법. 출력 예시를 보..