PPProject 첫 번째 만남의 결과물


1. 문제

컬럼 2. B번 문제
n개의 원소를 가지는 1차원 벡터를 i만큼 왼쪽으로 회전시켜라.

1.1. Leonardong


~cpp 
#include <iostream>
#include <string>
using namespace std;

void roll( string str, int i );

void main()
{
	string str = "abcde";
	int i = 3;
	roll(str, i);
}

void roll( string str, int i )
{
	cout << str << endl;
	
	int n = str.length();
	char temp;
	
	for ( int tag = 0 ; tag < n ; tag++ ){
		temp = str[tag];
		str[tag] = str[i-1];
		str[i-1] = temp;
		i = i < n ? i+1 : i;
	}
	cout << str << endl;
}

1.2. 재선 회영


~cpp 
#include<iostream.h>
#include<cstring>

void roll(int i);

char * string="ABCDEFGHIJKLMNOPQRSTUV";
const int SIZE = strlen(string);


void main()
{	
	roll(4);
}

void roll(int i)
{
	char* buffer1 = new char[i];
	strncpy(buffer1, string, i);
	buffer1[i] = 0;
	char *buffer2 = new char[SIZE-i];
	strcpy(buffer2,string+i);
	cout<<strcat(buffer2,buffer1)<<endl;	
}

 

2. 후기

재선 :
첫 모임이라 스터디 방식을 정하는데 시간이 오래 걸렸다. 회영이와 PairProgramming 을 하는데 너무 여유가 없었다.
Leonardong:
알고리즘을 알아도 코드로 바로 풀어쓰기가 안 된다. 그럴 때는 가짜 코드(psuedo code)를 적어보는 것이 도움이 된다.


Retrieved from http://wiki.zeropage.org/wiki.php/PPProject/20041001FM
last modified 2021-02-07 05:23:59