백준알고리즘 10039번 java

import java.util.Scanner;
 
public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int[] input = new int[5];
		int sum = 0;
		for (int i = 0i < 5i++) {
			input[i] = sc.nextInt();
			if (input[i] < 40)
				input[i] = 40;
			sum += input[i];
		}
		sum /= 5;
		System.out.print(sum);
	}
}


'SW > 백준알고리즘' 카테고리의 다른 글

백준알고리즘 8958번 java  (0) 2017.09.13
백준알고리즘 2920번 java  (0) 2017.09.13
백준알고리즘 11654번 java  (0) 2017.09.13
백준알고리즘 10809번 java  (0) 2017.09.13
백준알고리즘 2675번 java  (0) 2017.09.13

백준알고리즘 11654번 java

import java.util.Scanner;
 
public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		String input = sc.next();
		int a = input.charAt(0);
		System.out.print(a);
	}
}


'SW > 백준알고리즘' 카테고리의 다른 글

백준알고리즘 2920번 java  (0) 2017.09.13
백준알고리즘 10039번 java  (0) 2017.09.13
백준알고리즘 10809번 java  (0) 2017.09.13
백준알고리즘 2675번 java  (0) 2017.09.13
백준알고리즘 1152번 java  (0) 2017.09.13

백준알고리즘 10809번 java

 
import java.util.Scanner;
 
public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		String input = sc.next();
		int[] alphabet = new int[26];
		for (int i = 0i < alphabet.lengthi++) {
			alphabet[i] = -1;
		}
		char[] in = input.toCharArray();
		for (int i = 0i < in.lengthi++) {
			int tmp = in[i] - 97;
			if (alphabet[tmp] == -1)
				alphabet[tmp] = i;
		}
 
		for (int i = 0i < alphabet.lengthi++) {
			System.out.print(alphabet[i] + " ");
		}
	}
}


'SW > 백준알고리즘' 카테고리의 다른 글

백준알고리즘 10039번 java  (0) 2017.09.13
백준알고리즘 11654번 java  (0) 2017.09.13
백준알고리즘 2675번 java  (0) 2017.09.13
백준알고리즘 1152번 java  (0) 2017.09.13
백준알고리즘 1157번 java  (0) 2017.09.13

백준알고리즘 2675번 java

import java.util.Scanner;
 
public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int tc = sc.nextInt();
		String text[] = new String[tc];
		int count[] = new int[tc];
		for (int i = 0i < tci++) {
			count[i] = sc.nextInt();
			text[i] = sc.next();
		}
		for (int j = 0j < tcj++) {
			char[] temp = text[j].toCharArray();
			for (int k = 0k < temp.lengthk++) {
				for (int l = 0l < count[j]; l++) {
					System.out.print(temp[k]);
				}
			}
			System.out.println();
		}
	}
}


'SW > 백준알고리즘' 카테고리의 다른 글

백준알고리즘 10039번 java  (0) 2017.09.13
백준알고리즘 11654번 java  (0) 2017.09.13
백준알고리즘 10809번 java  (0) 2017.09.13
백준알고리즘 1152번 java  (0) 2017.09.13
백준알고리즘 1157번 java  (0) 2017.09.13

백준알고리즘 1152번 java

 
import java.util.Scanner;
 
public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		String s = sc.nextLine();
		String slist[] = s.split(" ");
 
		int count = 0;
		for (int i = 0i < slist.lengthi++) {
			if (!slist[i].equals(""))
				count++;
		}
		sc.close();
		System.out.print(count);
	}
}


'SW > 백준알고리즘' 카테고리의 다른 글

백준알고리즘 10039번 java  (0) 2017.09.13
백준알고리즘 11654번 java  (0) 2017.09.13
백준알고리즘 10809번 java  (0) 2017.09.13
백준알고리즘 2675번 java  (0) 2017.09.13
백준알고리즘 1157번 java  (0) 2017.09.13

백준알고리즘 1157번 java

import java.util.Scanner;
 
public class Main {
	public static void main(String[] args) {
		boolean flag = false;
		Scanner sc = new Scanner(System.in);
		String s = sc.nextLine();
		s = s.toLowerCase();
		char[] text = s.toCharArray();
		int[] count = new int[26];
		for (int i = 0i < text.lengthi++) {
			count[text[i] - 97]++;
		}
		int max = 0num = 0;
		for (int i = 0i < count.lengthi++) {
			if (max < count[i]) {
				max = count[i];
				num = i;
			}
		}
		for (int i = 0i < count.lengthi++) {
			for (int j = 0j < count.lengthj++) {
				if (count[i] == max && count[j] == max && i != j)
					flag = true;
			}
		}
		if (flag)
			System.out.print("?");
		else {
			char ans = (char)(num + 65);
			System.out.print(ans);
		}
	}
}


'SW > 백준알고리즘' 카테고리의 다른 글

백준알고리즘 10039번 java  (0) 2017.09.13
백준알고리즘 11654번 java  (0) 2017.09.13
백준알고리즘 10809번 java  (0) 2017.09.13
백준알고리즘 2675번 java  (0) 2017.09.13
백준알고리즘 1152번 java  (0) 2017.09.13

UI 꾸밀 때 색 지정이 어려울 때 참고!

http://davidlab.net/google-design-ko/style/color.html#color-color-schemes


구글 디자인에서 색 조합을 친절하게 알려주고 있다.


여기서 참조하여 색을 지정하면 평균은 갈 것 같다.


예시!



정규 표현식 연습할 사이트!

https://regexr.com/


위 사이트에 가면 친절한 예시와 테스트를 볼 수 있다.



위와 같이 정규표현식을 입력함과 동시에 아래의 텍스트에서 맞는 결과를 하이라이트 하여 보여준다.

OpenGL - 비주얼 스튜디오(VS)에 설치!

windows10, visual studio 2017 환경입니다.


1. 첨부된 파일을 받습니다.


2. 압축을 해제 합니다.


3. *.lib 파일은 C:\Program Files (x86)\Windows Kits\10\Lib\10.0.15063.0\um\x86 에 모두 paste 합니다.


4. *.h 파일은 C:\Program Files (x86)\Windows Kits\10\Include\10.0.15063.0\um\gl 에 모두 paste 합니다.

(gl 폴더가 없다면 생성 후 paste 하면 된다.)


5. *dll 파일은 모두 C:\Windows\System32 에 paste 합니다.


6. VS에서 OpenGL 프로젝트를 생성할 때 소스코드 상단에 아래와 같이 작성한다.


#include <Windows.h>
#include <gl/GL.h>
#include <gl/GLU.h>
#include <gl/glut.h>
#include <gl/glaux.h>

순서가 다르면 안되는 경우도 있다고 한다. 


혹시 순서가 다르다면 순서를 같게 해본다.



opengl_lib.zip


OpenGL - 큐브회전 (X, Y, Z), 문자출력

설명


3차원 큐브를 X축, Y축, Z축 회전을 하며 (x, y, z키를 눌렀을 경우),


X, Y, Z를 눌렀을 때 우측 하단에 문자열을 출력한다.



소스코드

(앞의 예제와 마찬가지로 생략된 부분은 아래의 링크를  참조한다.)

2017/09/12 - [SW/OpenGL] - OpenGL - 사각형 회전, 색바꾸기


변수

static bool R = true;
static bool G = true;
static bool B = true;
static float theta;
bool rot = true;
int rx_axis = 0y_axis = 1z_axis = 0;
int t_xt_yt_z;
 
/// <summary>
/// The vertices {x, y, z}
/// </summary>
GLfloat vertices[8][3] = { { -1, -11 },{ -111 },
{ 111 },{ 1, -11 },{ -1, -1, -1 },
{ -11, -1 },{ 11, -1 },{ 1, -1, -1 } };
 
/// <summary>
/// The colors {R, G, B}
/// </summary>
GLfloat colors[8][3] =
{ { 001 },{ 011 },
{ 111 },{ 101 },
{ 000 },{ 010 },
{ 110 },{ 100 } };


키보드 이벤트

void menu(int item)
{
	keyboard((unsigned char)item00);
}
 
void keyupfunc(unsigned char keyint xint y)
{
	t_x = 0;
	t_y = 0;
	t_z = 0;
}
 
void keyboard(unsigned char keyint xint y)
{
	switch (key)
	{
	case 'q' | 'Q':
		exit(0); break;
	case VK_ESCAPE:
		exit(0); break;
	case 'x' | 'X'//rotate with x axis
	{
		x_axis = 1;
		y_axis = 0;
		z_axis = 0;
		t_x = 1;
		t_y = 0;
		t_z = 0;
		break;
	}
	case 'y' | 'Y'//rotate with y axis
	{
		x_axis = 0;
		y_axis = 1;
		z_axis = 0;
		t_x = 0;
		t_y = 1;
		t_z = 0;
		break;
	}
	case 'z' | 'Z'//rotate with z axis
	{
		x_axis = 0;
		y_axis = 0;
		z_axis = 1;
		t_x = 0;
		t_y = 0;
		t_z = 1;
		break;
	}
	default:
		break;
	}
}


렌더링함수

void RenderScene(void)
{
	glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
 
	glMatrixMode(GL_MODELVIEW);
	glLoadIdentity();
	gluLookAt(0.50.50.5000010);
 
	glPushMatrix(); {//push
		glRotatef(thetax_axisy_axisz_axis);
		//draw cube
		quad(0321);
		quad(2376);
		quad(3047);
		quad(1265);
		quad(4567);
		quad(5401);
		glEnd();
	}glPopMatrix();//pop
 
	glPushMatrix(); {//push
		glColor3f(100);//red
		glRasterPos2f(1.4, -1.4);//string position
		if (t_x == 1)//print X_axis
			glPrint("X_axis"theta);
		else if (t_y == 1)//print Y_axis
			glPrint("Y_axis"theta);
		else if (t_z == 1)//print Z_axis
			glPrint("Z_axis"theta);
	}glPopMatrix();//pop
 
	glutPostRedisplay();
	glutSwapBuffers();
}
//swap rotate direction
void mouseButton(int buttonint stateint xint y)
{
	if (button == GLUT_LEFT_BUTTON)
	{
		if (state == GLUT_DOWN)
		{
			if (!mouseLeftDown)
			{
				if (rot)
					rot = false;
				else
					rot = true;
			}
		}
		else if (state == GLUT_UP)
		{
			if (mouseLeftDown)
				mouseLeftDown = false;
		}
	}
	else if (button == GLUT_RIGHT_BUTTON)
	{
		if (state == GLUT_DOWN)
		{
		}
		else if (state = GLUT_UP)
		{
		}
	}
	glutPostRedisplay();
}
 
void mouseMotion(int xint y)
{
	if (mouseLeftDown)
	{
		double viewport[4];
		glGetDoublev(GL_VIEWPORTviewport);
 
		point[1][0] = x / (float)viewport[2] * 500;
		point[1][1] = (viewport[3] - y) / (float)viewport[3] * 500;
	}
	glutPostRedisplay();
}


폰트 설정

//setting font
void init(void)
{
	theta = 0.0f;
	hWnd = GetActiveWindow();
	hDC = GetDC(hWnd);
 
	listID = glGenLists(1);
	glNewList(listIDGL_COMPILE);
 
	glEndList();
	BuildFont();
 
	glutTimerFunc(10timer1);
}
void BuildFont(void)
{
	HFONT font;
	HFONT oldfont;
 
	base = glGenLists(96);
	font = CreateFontA(-24,
		0,
		0,
		0,
		FW_BOLD,
		FALSE,
		FALSE,
		FALSE,
		ANSI_CHARSET,
		OUT_TT_PRECIS,
		CLIP_DEFAULT_PRECIS,
		ANTIALIASED_QUALITY,
		FF_DONTCARE | DEFAULT_PITCH,
		"Courier New");
 
	oldfont = (HFONT)SelectObject(hDCfont);
	wglUseFontBitmaps(hDC3296base);
	SelectObject(hDColdfont);
	DeleteObject(font);
}
void KillFont(GLvoid)
{
	glDeleteLists(base96);
}
 
//print function
void glPrint(const char *fmt, ...)
{
	char text[256];
	va_list ap;
	if (fmt == NULL)
		return;
 
	va_start(apfmt);
	vsprintf(textfmtap);
	va_end(ap);
 
	glPushAttrib(GL_LIST_BIT); {//push
		glListBase(base - 32);
		glCallLists(strlen(text), GL_UNSIGNED_BYTEtext);
	}glPopAttrib();//pop
}


cube를 구성할 사각형

/// <summary>
/// draw square
/// </summary>
/// <param name="a">a.</param>
/// <param name="b">The b.</param>
/// <param name="c">The c.</param>
/// <param name="d">The d.</param>
void quad(int aint bint cint d)
{
	glBegin(GL_QUADS);
	glColor3fv(colors[a]); glVertex3fv(vertices[a]);
	glColor3fv(colors[b]); glVertex3fv(vertices[b]);
	glColor3fv(colors[c]); glVertex3fv(vertices[c]);
	glColor3fv(colors[d]); glVertex3fv(vertices[d]);
}


메인함수

void main(int argccharargv[])
{
	glutInit(&argcargv);
	glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);
	glutInitWindowSize(500500);
	glutCreateWindow("xyz rotate");
	glutDisplayFunc(RenderScene);
	glutReshapeFunc(ChangeSize);
 
	glutMouseFunc(mouseButton);
	glutMotionFunc(mouseMotion);
	glutTimerFunc(1000 / 30timer1); //timer 실행
	glutKeyboardFunc(keyboard);
	glutKeyboardUpFunc(keyupfunc);
 
	//bind menu with keyboard event
	glutCreateMenu(menu);
	glutAddMenuEntry("1"1);
	glutAddMenuEntry("2"2);
	glutAttachMenu(GLUT_RIGHT_BUTTON);
 
	init();
	SetupRc();
	glutMainLoop();
}



실행영상



'분류 전체보기'에 해당되는 글 125건

1 2 3 4 5 6 7 8 ··· 13 →