634 : 반복제어문3 - 자가진단2

a = int(input())

for i in range(1,a+1):
  for _ in range(0, i):
    print("*", end="")
  print()

'정보올림피아드-KOI > 기초 문법 문제' 카테고리의 다른 글

1740 : 소수  (0) 2020.12.29
배열1  (0) 2020.12.29
반복제어문2  (0) 2020.12.29
반복제어문1  (0) 2020.12.29
182 : 문자열1 - 형성평가1  (0) 2020.04.04

547 : 반복제어문2 - 자가진단7

for i in range(2,7):
  for j in range(0,5):
    print(i + j, end = " ")
  print()

 

548 : 반복제어문2 - 자가진단8

for i in range(2,5):
  for j in range(1,6):
    print("%-2d * %2d = %3d  " %(i, j, i*j), end = " ")
  print()

 

133 : 반복제어문2 - 형성평가4

n = int(input())
cnt = 0
sum = 0
for _ in range(0,n):
  a = int(input())
  sum += a
  cnt += 1

print("%.2f" %(sum/cnt))
n = int(input())
li = list(map(int, input().split()))
cnt = 0
sum = 0
for a in li:
  sum += a
  cnt += 1

print("%.2f" %(sum/cnt))

137 : 반복제어문2 - 형성평가8

a,b = map(int, input().split())

for i in range(1, a+1):
  for j in range(1, b+1):
    print("%d" %(i*j), end = " ")
  print(" ");

138 : 반복제어문2 - 형성평가9

a = int(input())

for i in range(1, a + 1):
  for j in range(1, a + 1):
    print("(%d, %d)" %(i,j), end = " ")
  print()

139 : 반복제어문2 - 형성평가A

a, b = map(int, input().split())

for i in range(1, 10):
  for j in range(a, b-1, -1):
    print("%-2d * %2d = %2d" %(j, i, j*i), end = " ")
  print()

'정보올림피아드-KOI > 기초 문법 문제' 카테고리의 다른 글

배열1  (0) 2020.12.29
반복제어문3  (0) 2020.12.29
반복제어문1  (0) 2020.12.29
182 : 문자열1 - 형성평가1  (0) 2020.04.04
184 : 문자열1 - 형성평가3  (0) 2020.04.04

536 : 반복제어문1 - 자가진단1

i = 1
p = ""
while i <= 15:
  #print(i, end=" ")
  p += str(i) + " "
  i += 1
print(p)
i = 1
while i <= 15:
  print(i, end=" ")
  i += 1
for i in range(1, 16):
  print(i, end = " ")

537 : 반복제어문1 - 자가진단2

 

n = int(input())
sum = 0
i = 1
while i <= n:
  sum += i
  i +=1;

print(sum)
n = int(input())
sum = 0
for i in range(1, n+1):
  sum += i

print(sum)

538 : 반복제어문1 - 자가진단3

while True:
  a = int(input())
  if a == 0:
    break
  if a > 0:
    print("Pos")
  else:
    print("Neg")

539 : 반복제어문1 - 자가진단4

#입력을 한줄에 한개씩 받아야 함.
cnt = 0
sum = 0
while True:
  a = int(input())
  sum += a
  cnt += 1
  if a >= 100:
    break

print("%d %d \n%.1f" %(sum,cnt, sum/cnt))
n = list(map(int, input().split()))
cnt = 0
sum = 0
for a in n:
  sum += a
  cnt += 1
  if a >= 100:
    break

print("%d %d \n%.1f" %(sum,cnt, sum/cnt))

540 : 반복제어문1 - 자가진단5

while True:
  a = int(input())
  if a == -1:
    break
  if a%3 == 0:
    print(a//3)

633 : 반복제어문1 - 자가진단6

while True:
  print("1. Korea\n2. USA\n3. Japan\n4. China\nnumber?", end = " ")
  a = int(input())
  if a == 1:
    print("\nSeoul\n")
  elif a == 2:
    print("\nWashington\n")
  elif a == 3:
    print("\nBeijing\n")
  else : 
    print("\nnone\n")
    break

125 : 반복제어문1 - 형성평가1

a = int(input())
i = 1
while i<=a:
  print(i, end=" ")
  i += 1
a = int(input())
for i in range(1, a+1):
  print(i, end=" ")

126 : 반복제어문1 - 형성평가2

odd = 0
even = 0
while True:
  a = int(input())
  if a == 0:
    break
  if a%2 == 0:
    even += 1
  else:
    odd +=1
  
print("odd : %d\neven : %d" %(odd, even) )
n = list(map(int, input().split()))
odd = 0
even = 0
for a in n:
  if a == 0:
    break
  if a%2 == 0:
    even += 1
  else:
    odd +=1
  
print("odd : %d\neven : %d" %(odd, even) )

127 : 반복제어문1 - 형성평가3

sum = 0
cnt = 0
while True:
  a = int(input())
  if a < 0 or a > 100:
    break
  sum += a
  cnt += 1

print("sum : %d\navg : %.1f" %(sum, sum/cnt))
n = list(map(int, input().split()))
sum = 0
cnt = 0
for a in n:
  if a < 0 or a > 100:
    break
  sum += a
  cnt += 1

print("sum : %d\navg : %.1f" %(sum, sum/cnt))

128 : 반복제어문1 - 형성평가4

n = list(map(int, input().split()))
cnt = 0

for a in n:
  if a%3 != 0 and a%5 != 0:
    cnt += 1

print(cnt)

129 : 반복제어문1 - 형성평가5

 

while True:
  b = int(input("Base = "))
  h = int(input("Height = "))
  area = b*h/2
  print("Triangle width = %.1f" %area)
  y = input("Continue? ")
  if(y != 'y' and y != 'Y'):
    break

 

'정보올림피아드-KOI > 기초 문법 문제' 카테고리의 다른 글

반복제어문3  (0) 2020.12.29
반복제어문2  (0) 2020.12.29
182 : 문자열1 - 형성평가1  (0) 2020.04.04
184 : 문자열1 - 형성평가3  (0) 2020.04.04
185 : 문자열1 - 형성평가4  (0) 2020.04.04

www.youtube.com/watch?v=94RC-DsGMLo&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC&index=5

 

 

 

 

 

 

 

 

 

 

 

 

'정보올림피아드-KOI > 알고리즘 트레이닝' 카테고리의 다른 글

[이코테] #게임개발 파이썬  (0) 2021.01.24
[이코테] 상하좌우  (0) 2021.01.24
[이코테] 퀵정렬 Quick  (0) 2020.12.14
[이코테] 선택정렬  (0) 2020.12.14
[이코테] BFS 알고리즘  (0) 2020.12.14

www.youtube.com/watch?v=KGyK-pNvWos&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC&index=4

 

 

 

 

 

 

 

 

 

www.youtube.com/watch?v=KGyK-pNvWos&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC&index=4

 

 

 

www.youtube.com/watch?v=7C9RgOcvkvo&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC&index=3

 

 

 

www.youtube.com/watch?v=7C9RgOcvkvo&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC&index=3

 

 

 

 

 

'정보올림피아드-KOI > 알고리즘 트레이닝' 카테고리의 다른 글

[이코테] 선택정렬  (0) 2020.12.14
[이코테] BFS 알고리즘  (0) 2020.12.14
[이코테] 곱하기 혹은 더하기  (0) 2020.12.14
[이코테] 1이 될때까지  (0) 2020.12.14
힙 정렬 - Heap sort  (0) 2020.04.08

 

www.youtube.com/watch?v=2zjoKjt97vQ&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC&index=2

 

[이코테] 1이 될때까지

www.youtube.com/watch?v=2zjoKjt97vQ&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC&index=2 <추가 설명> n 23, k 3 target = (n//k)*k -> target 이 21이 된다. n - target을 하면 -> 2가되고 result에 2를 더한..

coding-gongboo.tistory.com

 

 

 

<추가 설명>

딱히 없네요.^^

그리디하게, 0,1 아니면 곱하기를 먼저 선택하면 되는 문제네용 ㅎㅎ

 

www.youtube.com/watch?v=2zjoKjt97vQ&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC&index=2

 

 

 

 

<추가 설명>

n 23, k 3

target = (n//k)*k  -> target 이 21이 된다.

n - target을 하면 -> 2가되고

result에 2를 더한다는 것은 -1 연산을 2번 한다는 것이된다. 

 

요렇게 구현하면 성능이 좋아지겠지요.ㅎㅎ

"이것이 취업을 위한 코딩 테스트다 with 파이썬"

알고리즘 공부를 시작하면, 구독을 하기 시작했던 동빈나씨의 책이다.
이분은 유튜브 외에도 블로그 글로도 많은 도움을 받고있다.
포항공대 대학원에서 석사공부를 시작한다는 영상을 얼마전에 본것 같은데
책까지 쓴걸 보니 역시 대단하다~!

이분이 쓴 책이라면 이분의 유튜브나 블로그 처럼 군더더기 없는
깔끔한 설명과 소스코드까지 제공되리라 기대한다.

책 링크 : http://hanbit.co.kr/store/books/look.php?p_code=B8945183661

https://www.acmicpc.net/problem/1655

 

1655번: 가운데를 말해요

첫째 줄에는 수빈이가 외치는 정수의 개수 N이 주어진다. N은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수이다. 그 다음 N줄에 걸쳐서 수빈이가 외치는 정수가 차례대로 주어진다. 정수는 -10,000보다 크거나 같고, 10,000보다 작거나 같다.

www.acmicpc.net

 

#include <iostream>
#include <bits/stdc++.h>
using namespace std;
//가운데를 말해요  1655 
int main()
{
    priority_queue <int> p;
    priority_queue <int, vector<int>, greater<int>> q;
    int n,i,a;
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        scanf("%d",&a);
        if(p.empty() || q.empty())
        {
            //puts("11");
            p.push(a);
        }
        else
        {
            //puts("22");
            if(q.top()<=a)
            {
                //puts("33");
                q.push(a);
            }
            else
            {
                //puts("44");
                p.push(a);
            }
        }
        if(!(p.size() == q.size() || p.size() == q.size() + 1))
        {
            //uts("55");
            if(p.size() > q.size())
            {
                q.push(p.top());
                p.pop();
            }
            else{
                p.push(q.top());
                q.pop();
            }
        }
        printf("%d\n", p.top());
    }
    return 0;
}

 

'정보올림피아드-KOI > BOJ' 카테고리의 다른 글

스택 Stack  (0) 2022.02.04
단어 뒤집기 2  (0) 2021.12.31
BOJ 외판원 순회 2 - 10971번  (0) 2020.05.08
백준 - 프린터 큐 : 1966번  (0) 2020.04.26
백준 - 로마 숫자 만들기 : 16922번  (0) 2020.04.26

https://www.acmicpc.net/problem/10971

 

10971번: 외판원 순회 2

첫째 줄에 도시의 수 N이 주어진다. (2 ≤ N ≤ 10) 다음 N개의 줄에는 비용 행렬이 주어진다. 각 행렬의 성분은 1,000,000 이하의 양의 정수이며, 갈 수 없는 경우는 0이 주어진다. W[i][j]는 도시 i에서 j로 가기 위한 비용을 나타낸다. 항상 순회할 수 있는 경우만 입력으로 주어진다.

www.acmicpc.net

 

 

//나머지
#include<stdio.h>
#include<vector>
#include<stack>
#include<string.h>
#include<algorithm>
using namespace std;

int main(void)
{
    int n;
    int w[10][10] = {0, };
    int a[10];
    int min=2100000000;

    for(int i=0; i<10; i++)
    {
        a[i] = i;
    }
    int sum=0;

    scanf("%d", &n);
    for(int i=0; i<n; i++)
    {
        for(int j=0; j<n; j++)
        {
            scanf("%d", &w[i][j]);
        }
    }
    do{
        sum=0;
        int flag = 1;
        for(int i=0; i<n; i++)
        {
            int x;
            if(i+1 < n)
            {
                x = w[a[i]][a[i+1]];
                sum+=x;
            }
            else
            {
                x = w[a[i]][a[0]];
                sum+=x;
            }
            if(x==0)
            {
                flag++;
            }
        }
        if(flag == 1 && min>sum)
        {
            min = sum;
        }
    }while(next_permutation(a, a+n)!=0);

    printf("%d", min);
	return 0;
}

'정보올림피아드-KOI > BOJ' 카테고리의 다른 글

단어 뒤집기 2  (0) 2021.12.31
백준 : 가운데를 말해요 1655번  (0) 2020.05.10
백준 - 프린터 큐 : 1966번  (0) 2020.04.26
백준 - 로마 숫자 만들기 : 16922번  (0) 2020.04.26
백준 - 두 로봇 : 15971  (0) 2020.03.31

 

https://www.acmicpc.net/problem/1966

 

1966번: 프린터 큐

문제 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에 쌓여서 FIFO - First In First Out - 에 따라 인쇄가 되게 된다. 하지만 상근이는 새로운 프린터기 내부 소프트웨어를 개발하였는데, 이 프린터기는 다음과 같은 조건에 따라 인쇄를 하게 된다. 현재 Queue의 가장 앞에 있는 문서의 ‘중요도’를

www.acmicpc.net

 

 

 

#include<bits/stdc++.h>
using namespace std; 

int myq_evaluate(queue<pair<int, int> > Q)	
{
	int siz = Q.size();
	int first_importance = Q.front().second;	
	int now_importance;
	
	for(int i=1; i<siz; i++)
	{
		Q.pop();
		if(Q.front().second > first_importance)
		{
			return 1;
		}
	}
	
	return 0;
}

int main(void)
{
	int t;
	int ans = 1;
	int temp;
	
	scanf("%d", &t);	
	
	for(int i=0; i<t; i++)
	{
		int n, m;	
		ans = 1;
		
		scanf("%d %d", &n, &m);	
		queue<pair<int, int> >q;	
		pair<int, int> temp_front;
		
		for(int j=0; j<n; j++)
		{
			scanf("%d", &temp);
			q.push(make_pair(j, temp));	
		}
		
		
		while(1)
		{
			while(myq_evaluate(q))	
			{
				temp_front = q.front();	
				q.pop();
				q.push(temp_front);
			}
			
			if(q.front().first != m)	
			{
				q.pop();
				ans++;
			}
			else
			{
				break;
			}
		}
		
		printf("%d\n", ans); 
	}
	
	return 0;
}

 

 

#include <iostream>
#include <bits/stdc++.h>
using namespace std;

int main()
{

    int a,b,i,d[100]={0,},cnt=0,f;
    scanf("%d",&f);
    while(f>0)
    {
        priority_queue<pair<int,int>> p;
        scanf("%d %d",&a,&b);
        for(i=0;i<a;i++)
        {
            scanf("%d",&d[i]);
            p.push({d[i],i});
        }
        while(!p.empty())
        {
            cnt++;
            int t=p.top().second;
            if(b==t)
            {
                printf("%d\n",cnt);
                break;
            }

            p.pop();
        }
        f--;
        cnt=0;
    }
    return 0;
}

https://www.acmicpc.net/problem/16922

 

16922번: 로마 숫자 만들기

2, 6, 10, 11, 15, 20, 51, 55, 60, 100을 만들 수 있다.

www.acmicpc.net

 

 

#include <iostream>
#include <bits/stdc++.h>
using namespace std;
//로마 숫자 만들기
int main()
{
    int n,i,j,k,check[1100]={0,},cnt=0,sum=0;
    scanf("%d",&n);
    for(i=0;i<=n;i++)
    {
        for(j=0;j<=n-i;j++)
        {
            for(k=0;k<=n-i-j;k++)
            {
                check[i+5*j+10*k+50*(n-i-j-k)]++;
            }
        }
    }
    for(i=1;i<1100;i++)
    {
        if(check[i]!=0)
        {
            cnt++;
            sum+=check[i];
        }
    }
    printf("%d %d",cnt,sum);
    return 0;
}
#include <bits/stdc++.h>
using namespace std;

int main()
{
    int a[10]={0,},i;
    for(i=0;i<10;i++)
        scanf("%d",&a[i]);
    for(i=9;i>=0;i--)
    {
        //printf("=1=\n");
        int child = i;
        do{
            //printf("=2=\n");
            int parent = (child-1)/2;

            if(a[parent]<a[child])
                swap(a[parent],a[child]);
            child = parent;
        }while(child != 0);
    }
    for(i=0;i<10;i++)
        printf("= %d ",a[i]);
    int k=9;
    while(k!=0)
    {
        printf("==k= %d\n",k);
        if(a[0] <= a[k]) break;
        swap(a[0],a[k--]);
        int parent=0;
        int child;
        do{
            //printf("=2=\n");

            int child1 = parent*2+1;
            int child2 = parent*2+2;
            child = child1;
            if(child <= k-1 && a[child2]>a[child1])
                child = child2;

            if(child <= k-1 && a[parent]<a[child])
                swap(a[parent],a[child]);

            parent = child;
        }while(parent<=k);
        for(i=0;i<10;i++)
            printf("%d ",a[i]);
        printf("\n");
    }
    for(i=0;i<10;i++)
        printf("%d ",a[i]);
    return 0;
}
#include <bits/stdc++.h>
using namespace std;

int main()
{
    priority_queue <int> q;
    q.push(3);
    q.push(5);
    q.push(7);
    q.push(9);
    q.push(2);

    cout << q.top() << endl;
    q.pop();
    cout << q.top() << endl;
    return 0;
}

 

 

#include <bits/stdc++.h>
using namespace std;

int main()
{
    priority_queue <int> q;
    q.push(-3);
    q.push(-5);
    q.push(-7);
    q.push(-9);
    q.push(-2);

    cout << -q.top() << endl;
    q.pop();
    cout << -q.top() << endl;
    return 0;


}

 

 

#include <bits/stdc++.h>
using namespace std;

int main()
{
    priority_queue <int, vector<int>, greater<int>> q;
    q.push(3);
    q.push(5);
    q.push(7);
    q.push(9);
    q.push(2);

    cout << q.top() << endl;
    q.pop();
    cout << q.top() << endl;
    return 0;


}

 

https://www.acmicpc.net/problem/17619

 

17619번: 개구리 점프

첫 번째 줄에 통나무 개수 N과 질문의 개수 Q가 주어진다. 다음 N개의 줄에 각 통나무에 x1, x2, y의 세 정수 좌표가 주어진다. 주어진 통나무는 두 점 (x1, y)와 (x2, y)를 잇는 형태이다. (x1 < x2) 모든 좌표는 0이상 109이하이다. 통나무들은 주어진 순서대로 1번부터 번호가 붙어 있다. 서로 다른 두 통나무는 (끝점에서도) 만나지 않는다. 다음 Q개의 줄에 서로 다른 두 통나무의 번호가 주어진다. (1 ≤ N ≤ 100,00

www.acmicpc.net

 

 

 

#include<bits/stdc++.h>

using namespace std;

typedef struct wood
{
	int x1, x2, y;
	int num;
}wd;


bool cmp(wd a, wd b)
{
	return a.x1 < b.x1;
}

int main(void)
{
	int n,q;
	int qus_1, qus_2;
	int now_group = 1;
	int group[100] = {0,};
	int max_x2=0;
	scanf("%d %d", &n, &q);

	vector<wd> v;
	wd temp;

	for(int i=1; i<=n; i++)	//입력.
	{
		temp.num = i;
		scanf("%d %d %d", &temp.x1, &temp.x2, &temp.y);
		v.push_back(temp);
	}

	sort(v.begin(), v.end(), cmp);	//x1의 순서로 정렬.

	for(int i=0; i<n; i++)
	{
	    group[v[i].num] = now_group;
        max_x2=v[i].x2;

        if(i==n-1)
        {
            break;
        }

        for(int j = i+1; max_x2>=v[j].x1; j++)
        {
            printf("=1.1= %d : %d\n", max_x2, v[j].x1);
            if(v[j].x2 > max_x2)
            {
                max_x2 = v[j].x2;
            }

            group[v[j].num] = now_group;
            i++;
            printf("=1.2= %d : %d\n", max_x2, v[j].x1);
        }
        now_group++;
	}



	for(int i = 0; i<=n; i++)
	{
		printf("=2=%d : %d\n", i, group[i]);
	}

	for(int i=0; i<q; i++)
	{
		scanf("%d %d", &qus_1, &qus_2);
		if(group[qus_1] == group[qus_2])	//같은 그룹이면 연결되어있다.
		{
			printf("1\n");
		}
		else
		{
			printf("0\n");
		}
	}

	return 0;
}

 

//문자열 1 : 형성평가 1 

#include <bits/stdc++.h>
using namespace std;

int main()
{
   char a, b;
   
   scanf("%c %c", &a, &b);
   printf("%d %d", a+b, abs(a-b));
}

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=82&sca=10e0

 

JUNGOL | 문자열1 - 형성평가1 > 문제은행

경기도 안양시 동안구 평촌대로 109 협성골드프라자 601호 TEL : 031-360-4144 FAX : 031-388-0996 E-mail : hancomc@hotmail.com, comkiwer@naver.com Copyrightⓒ 2010-2019 jungol. All right reserved. TOP

www.jungol.co.kr

 

'정보올림피아드-KOI > 기초 문법 문제' 카테고리의 다른 글

반복제어문2  (0) 2020.12.29
반복제어문1  (0) 2020.12.29
184 : 문자열1 - 형성평가3  (0) 2020.04.04
185 : 문자열1 - 형성평가4  (0) 2020.04.04
186 : 문자열1 - 형성평가5  (0) 2020.04.04

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=84&sca=10e0

 

JUNGOL | 문자열1 - 형성평가3 > 문제은행

경기도 안양시 동안구 평촌대로 109 협성골드프라자 601호 TEL : 031-360-4144 FAX : 031-388-0996 E-mail : hancomc@hotmail.com, comkiwer@naver.com Copyrightⓒ 2010-2019 jungol. All right reserved. TOP

www.jungol.co.kr

 

//문자열 1 : 형성평가 3

#include <bits/stdc++.h>
using namespace std;

int main()
{
   char n[100];
   
   scanf("%s", n);
   int count = strlen(n);
   
   for(int i = 0; i < count; i++){
   
      if(n[i] >= 'A' && n[i] <= 'Z'){
           printf("%c", n[i]+32);
       }
         else if(n[i] >= 'a' && n[i] <= 'z'){
           printf("%c", n[i]);
       }
        else if(n[i] >= '0' && n[i] <= '9'){
           printf("%c", n[i]);
       }
   }
}

 

'정보올림피아드-KOI > 기초 문법 문제' 카테고리의 다른 글

반복제어문1  (0) 2020.12.29
182 : 문자열1 - 형성평가1  (0) 2020.04.04
185 : 문자열1 - 형성평가4  (0) 2020.04.04
186 : 문자열1 - 형성평가5  (0) 2020.04.04
188 : 문자열1 - 형성평가7  (0) 2020.04.04

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=85&sca=10e0

 

JUNGOL | 문자열1 - 형성평가4 > 문제은행

단어와 문자 한 개를 입력받아서 단어에서 입력받은 문자와 같은 문자를 찾아서 그 위치를 출력하는 프로그램을 작성하시오. 단어에서 첫 번째 문자의 위치는 0으로 하고 찾는 문자가 여러 개일 때는 처음 나오는 위치를 출력한다. 만약 찾는 문자가 없을 때는 "No"라고 출력한다. 대소문자는 구별되며 단어는 100자 이하이다.

www.jungol.co.kr

//문자열 1 : 형성평가 4

#include <bits/stdc++.h>
using namespace std;

int main()
{
   char n[100];
   char a;
   
   scanf("%s", &n);
   scanf("%c", &a);
   int count = strlen(n);
   int flag = 0;
   int temp = 0;
   
   for(int i = 0; i < count; i++){
      if(n[i] == a){
         flag = 1;
         break;
      }
      temp++;
   }
   if(flag == 1)   printf("%d", temp);
   else printf("No");
}

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=86&sca=10e0

 

JUNGOL | 문자열1 - 형성평가5 > 문제은행

경기도 안양시 동안구 평촌대로 109 협성골드프라자 601호 TEL : 031-360-4144 FAX : 031-388-0996 E-mail : hancomc@hotmail.com, comkiwer@naver.com Copyrightⓒ 2010-2019 jungol. All right reserved. TOP

www.jungol.co.kr

 

//문자열 1 : 형성평가 5

#include <bits/stdc++.h>
using namespace std;

int main()
{
   char a[100], b[100];
   
   scanf("%s %s", &a, &b);
   
   int len_a = strlen(a);
   int len_b = strlen(b);
   
   if(len_a > len_b){
      printf("%d", strlen(a));
   }
   
   else {
      printf("%d", strlen(b));
   }
}

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=88&sca=10e0

 

JUNGOL | 문자열1 - 형성평가7 > 문제은행

공백을 포함한 문자열을 입력받아 다음과 같이 분리하여 번호와 함께 출력하는 프로그램을 작성하시오. 문자열의 길이는 100자 이하이다. * 문장 입력할 때 gets()함수 대신 fgets() 함수를 사용하세요. C++14 적용!​

www.jungol.co.kr

//문자열 1 : 형성평가 7

#include <bits/stdc++.h>
using namespace std;

int main()
{
   char n[100];
   char temp[100];
   int count = 1;
   
   gets(n);
   printf("1. ");
   
   for(int i = 0; i <= strlen(n); i++){
      printf("%c", n[i]);
      if(n[i] == ' '){
         count+=1;
         printf("\n%d. ", count);
      }
   }
}

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=242&sca=10f0

 

JUNGOL | 문자열2 - 자가진단4 > 문제은행

문자열을 선언하고 다음과 같이 "Hong Gil Dong"이라는 이름을 복사하여 저장한 후 출력하는 프로그램을 작성하시오.

www.jungol.co.kr

 

//문자열 2 : 자가진단 4 

#include <bits/stdc++.h>
using namespace std;

int main()
{
   char a[100]; 
   char b[100];
   
   gets(a);
   strcpy(b, a);
   printf("%s", b);
}

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=243&sca=10f0

 

JUNGOL | 문자열2 - 자가진단5 > 문제은행

경기도 안양시 동안구 평촌대로 109 협성골드프라자 601호 TEL : 031-360-4144 FAX : 031-388-0996 E-mail : hancomc@hotmail.com, comkiwer@naver.com Copyrightⓒ 2010-2019 jungol. All right reserved. TOP

www.jungol.co.kr

//문자열 2 : 자가진단 5

#include <bits/stdc++.h>
using namespace std;

int main()
{
   char n[20];
   char a[20] = "fighting";
   
   scanf("%s", &n);
   printf("%s", strcat(n, a));
}

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=87&sca=10e0

 

JUNGOL | 문자열1 - 형성평가6 > 문제은행

문자열(100자 이하)을 입력받은 후 정수를 입력받아 해당위치의 문자를 제거하고 출력하는 작업을 반복하다가 문자 1개가 남으면 종료하는 프로그램을 작성하시오. 첫 번째 문자의 위치는 1이며 만약 입력받은 번호가 문자열의 길이 이상이면 마지막 문자를 제거한다. * 입출력예에서 진한글씨가 출력

www.jungol.co.kr

 

 

//문자열 1 : 형성평가 6
#include <bits/stdc++.h>
using namespace std;

int main()
{
    char in[100];
    char temp[100];
    int n = 0;

    gets(in);
    while(strlen(in) != 1){
        scanf("%d", &n);
        if(n > strlen(in)){
            in[strlen(in)-1] = NULL;
        }
        else{
            int j = 0;
            for(int i = 0; i <= strlen(in); i++){
                if(i+1 != n)    temp[j++] = in[i];
            }
            strcpy(in, temp);
        }

        printf("%s \n", in);

    }
}

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=244&sca=10f0

 

JUNGOL | 문자열2 - 자가진단6 > 문제은행

경기도 안양시 동안구 평촌대로 109 협성골드프라자 601호 TEL : 031-360-4144 FAX : 031-388-0996 E-mail : hancomc@hotmail.com, comkiwer@naver.com Copyrightⓒ 2010-2019 jungol. All right reserved. TOP

www.jungol.co.kr

 

//문자열 2 : 자가진단 6
#include <bits/stdc++.h>
using namespace std;

int main()
{
    char a[100];
    char b[100];
    char temp[100]={0,};

    scanf("%s %s", &a, &b);
    for(int i = 0; i < 2; i++){
        b[i] = a[i];
        temp[i] = a[i];
    }
    strcat(b, temp);
    printf("%s", b);

}

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=245&sca=10f0

 

JUNGOL | 문자열2 - 자가진단7 > 문제은행

경기도 안양시 동안구 평촌대로 109 협성골드프라자 601호 TEL : 031-360-4144 FAX : 031-388-0996 E-mail : hancomc@hotmail.com, comkiwer@naver.com Copyrightⓒ 2010-2019 jungol. All right reserved. TOP

www.jungol.co.kr

//문자열 2 : 자가진단 7
#include <bits/stdc++.h>
using namespace std;

int main()
{
    char in[100];
    gets(in);

    if(strchr(in, 'c') != 0)   printf("YES ");
    else    printf("NO ");

    if(strstr(in, "ab") != NULL)   printf("YES ");
    else    printf("NO ");
}
//문자열 2 : 자가진단 7
#include <bits/stdc++.h>
using namespace std;

int main()
{
    char in[100];
    int flag = 0, flag_2 = 0;

    gets(in);
    for(int i = 0; i < strlen(in); i++){
        if(in[i] == 'c'){
            flag = 1;
        }

        else if(in[i] == 'a'){
            if(in[i+1] == 'b'){
                flag_2 = 1;
            }
        }
    }
    if(flag == 1)   printf("YES ");
    else    printf("NO ");

    if(flag_2 == 1)   printf("YES ");
    else    printf("NO ");
}

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=246&sca=10f0

 

JUNGOL | 문자열2 - 자가진단8 > 문제은행

세 개의 단어를 입력받아 아스키코드(사전) 순으로 가장 먼저 나오는 단어를 출력하는 프로그램을 작성하시오. 각 단어의 길이는 1이상 10 이하이다.

www.jungol.co.kr

 

//문자열 2 : 자가진단 8
#include <bits/stdc++.h>
using namespace std;

int str_com(char a[], char b[]){
    for(int i = 0; i <= 100; i++){
        if(a[i] > b[i]) return 1;
        else if(a[i] < b[i]) return -1;
    }
}

int main()
{
    char a[100], b[100], c[100];

    scanf("%s %s %s", &a, &b, &c);
    int res = str_com(a, b);
    int res_2 = 0;

    if(res == 1){
        if(str_com(b, c) == 1) printf("%s \n",c );
        else printf("%s \n",b );
    }
    else{
        if(str_com(a, c) == 1) printf("%s \n", c);
        else printf("%s \n", a);
    }

}
//문자열 2 : 자가진단 8
#include <bits/stdc++.h>
using namespace std;
int main()
{
    char a[100], b[100], c[100];

    scanf("%s %s %s", &a, &b, &c);
    int res = strcmp(a, b);
    int res_2 = 0;

    if(res > 0){
        if(strcmp(b, c) > 0) printf("%s \n",c );
        else printf("%s \n",b );
    }
    else{
        if(strcmp(a, c) > 0) printf("%s \n", c);
        else printf("%s \n", a);
    }

}

 

 

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=236&sca=10e0

 

JUNGOL | 문자열1 - 자가진단7 > 문제은행

경기도 안양시 동안구 평촌대로 109 협성골드프라자 601호 TEL : 031-360-4144 FAX : 031-388-0996 E-mail : hancomc@hotmail.com, comkiwer@naver.com Copyrightⓒ 2010-2019 jungol. All right reserved. TOP

www.jungol.co.kr

 

 

#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main()
{
    int i,len;
    char s[101];
    scanf("%s",s);
    len=strlen(s);
    for(i=0;i<len;i++){
        if(isalpha(s[i])){
            s[i]=toupper(s[i]);
            printf("%c",s[i]);
        }
    }
    printf("\n");
    return 0;
}

+ Recent posts