전체 글 27

백준 - 12833 XORXORXOR

링크 : https://www.acmicpc.net/problem/12833 12833번: XORXORXOR 세 수 A, B, C를 입력 받은 다음, ( ( ( ( A XOR B ) XOR B ) XOR B ) … ) XOR B 형태로 연산을 C회 했을 때의 결과값을 출력하는 프로그램을 작성하시오. www.acmicpc.net 1. 문제 풀이 아이디어 xor의 특성을 고려하면 된다. a와 b를 홀수번 계산하면 xor의 결과가 출력된다. a와 b를 짝수번 계산하면 a가 출력된다. 2. 풀이 코드(C++) #include using namespace std; int main(void){ int a, b, c; cin >> a >> b >> c; if(c % 2 == 0){ cout

implicit declaration of function 경고

Microchip Studio를 사용하면서 본 경고이다. 함수를 제대로 선언을 안 했다는 것이다. 사람마다 해당 경고가 생긴 원인이 다르겠지만, 함수 원형을 선언하지 않고 상단에 있는 함수에서 하단에 있는 함수를 불러오려고 하다 보니 생긴 문제였다. 예를 들자면.. #include void def(){ // 이런 경우 생기는 경고다. abc(); // abc를 명시하지 않은 채 abc(); 를 요구하면 문제가 생긴다. } void abc(){ printf("hello"); } int main(void){ def(); }

[SFML] 폰트 적용, 이미지 삽입 방법

코드를 짜고 있는 폴더에다 폰트와 이미지를 저장하면 된다. 1. 해당 폴더에다 저장 - (대다수가 이용한 방법이긴 하지만, 나에게는 통하지 않았다.) - 비주얼 스튜디오를 기준으로 설명하자면 프로젝트 폴더 내에다 저장하면 된다. C:\Users\User Name\source\repos\Solution name\Project Name에 해당하는 경로에다 저장했다. 2. 폴더를 만들어 저장 Images, Font 등 폴더를 만들었다. 사용할 때는 Images/abc.png 이런 식으로 참조했다.

C++/with SFML 2021.11.06

[visual studio] *.exe을(를) 쓰기용으로 열 수 없습니다 오류

비주얼 스튜디오를 이용하다 보면 *. exe을(를) 쓰기용으로 열 수 없습니다 라고 오류가 발생하기도 한다. 이 오류를 해결 하기 위해서는 세 가지 방법을 쓸 수 있다. 1. 열려있는 콘솔 창 닫아주기 - 거의 대부분의 경우, 콘솔창을 닫아주면 해결된다. 2. 비주얼 스튜디오 종료했다가 다시 실행해보기 3. cmd에 들어가서 taskkill 해주기 (1) 먼저 tasklist를 입력한다. tasklist에서 내가 작업하고 있었던 exe 파일의 이름을 찾아 해당 PID를 기억해주자. 하나하나 찾기 힘들다면, ctrl + f 눌러서 exe 파일 이름을 입력하자. 그러면 쉽게 찾을 수 있다. (2) taskkill -f /pid 프로세스 PID 입력 다시 비주얼 스튜디오에 접속하여 실행해주면 오류 없이 해결됨..

C++ 2021.11.04

[ATmega2560] LED 패턴 이용한 실습

+ tools - device programming - memories를 통해 *. hex 파일 program 버튼 눌렀는데도 이전의 코드를 실행하는 경우가 있었다. 그럴 때는 debug에 있는 파일들 없애주고 다시 빌드를 해주면 해결된다. (단축키 ctrl + F7 사용했는데 제대로 빌드 안 됐다. build - build solution 눌러서 빌드 하는 게 제일 문제없고 깔끔해 보인다) - LED를 점등하는 코드를 패턴을 만들어 구성해봤다. hex 값에 따라서 특정 led가 켜졌다 꺼졌다 한다. 0X0X0X0X , X0X0X0X0 0000XXXX , XXXX0000 00XXXX00 , XX0000XX 이렇게 교대로 반복하며 LED를 조절한다. - 위 코드 그대로 빌드해보면 __builtin_avr_..

[ATmega2560] LED 점등

-microchip studio를 이용해서 코드 작성하였다. #include #define F_CPU 16000000UL #define FOSC 16000000UL #include 이 순서대로 define 하고 include 해줬어야 했는데 #include 를 define보다 더 먼저 선언했으니 warnings 하고 메시지 뜬다. /* * GccApplication1.c * * Created: 2021-10-21 오후 10:44:42 * Author : */ #include #define F_CPU 16000000UL #define FOSC 16000000UL #include int main(void) { /* Replace with your application code */ DDRC = 0x01; /..

[리눅스] ln: failed to create symbolic link 오류

ln: failed to create symbolic link '/home/usr_name/lib/libfuncs.so.1': File exists make: *** [Makefile:31: /home/usr_name/lib/libfuncs.so.1] Error 1 Makefile을 생성하였다. 특정 파일을 변경한 이후에 모든 파일을 컴파일 하지말고, 변경된 파일만 다시 컴파일 하고 싶었다. 그 과정에서 발생한 오류이다. 이를 해결하기 위해서는 ln부분을 들여다 볼 필요가 있다. ln -s라고만 명령어를 적어서 이런 오류가 발생했다. 해결하기 위해서는 ln-sf명령어를 사용하면 된다. -f에 대한 설명은 ln명령어를 검색해보면 알 수 있다.(man ln 참고) 기존에 존재했던 파일을 삭제하는 것이다. l..

리눅스 2021.10.21

백준 - 1260 DFS와 BFS

https://www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net 1. 문제 풀이 아이디어 문제 이름 그대로 DFS와 BFS를 이용해서 풀면 된다. 그런데 기본적인 DFS, BFS 구현법 그대로 이용하면 틀렸다고 뜨게 된다. 추가적인 구현이 필요하다. 2. 풀이 코드(C++) #include #include #include #include #include #include #define max 1001 using namespa..