'전체 글'에 해당되는 글 1802건

  1. 2019.06.11 설탕 배달
  2. 2019.06.11 그래프
  3. 2019.06.10 ASTC : 가성비 좋은 텍스처 압축 포맷
  4. 2019.06.10 Assetbundle
  5. 2019.06.06 시스템 재구성
  6. 2019.06.05 공주를 구해줘 시스템 개선

설탕 배달

Algorithm 2019. 6. 11. 23:53
반응형

문제

상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그램 봉지와 5킬로그램 봉지가 있다.

상근이는 귀찮기 때문에, 최대한 적은 봉지를 들고 가려고 한다. 예를 들어, 18킬로그램 설탕을 배달해야 할 때, 3킬로그램 봉지 6개를 가져가도 되지만, 5킬로그램 3개와 3킬로그램 1개를 배달하면, 더 적은 개수의 봉지를 배달할 수 있다.

상근이가 설탕을 정확하게 N킬로그램 배달해야 할 때, 봉지 몇 개를 가져가면 되는지 그 수를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 N이 주어진다. (3 ≤ N ≤ 5000)

출력

상근이가 배달하는 봉지의 최소 개수를 출력한다. 만약, 정확하게 N킬로그램을 만들 수 없다면 -1을 출력한다.

https://medium.com/wasd/%EB%B0%B1%EC%A4%80-c-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%ED%92%80%EC%9D%B4-2839%EB%B2%88-372de7d86de6

 

[백준] C 알고리즘 풀이 — 2839번

설탕 배달

medium.com

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
= int(input())
count = 0
 
while n > 0 :
  if n % 5 == 0:
    n -= 5
    count+=1
  elif n % 3 == 0:
    n -= 3
    count+=1
  elif n > 5 :
    n -= 5
    count+=1
  else :
    count = -1
    break
 
print(count)
 

 

반응형

'Algorithm' 카테고리의 다른 글

[백준] 11047 동전 0 (진행중)  (0) 2019.08.13
[백준] ATM 11399  (0) 2019.08.12
그래프  (0) 2019.06.11
A* Pathfinding for Beginner By Patrick Lester  (0) 2019.05.22
Hash Tables and Hash Functions  (0) 2019.04.02
:

그래프

Algorithm 2019. 6. 11. 09:27
반응형

https://ko.khanacademy.org/computing/computer-science/algorithms/graph-representation/e/quiz--describing-graphs

 

그래프 설명하기

용어를 잘 알고있는지 확인해 봅시다.

ko.khanacademy.org

 

반응형

'Algorithm' 카테고리의 다른 글

[백준] 11047 동전 0 (진행중)  (0) 2019.08.13
[백준] ATM 11399  (0) 2019.08.12
설탕 배달  (0) 2019.06.11
A* Pathfinding for Beginner By Patrick Lester  (0) 2019.05.22
Hash Tables and Hash Functions  (0) 2019.04.02
:

ASTC : 가성비 좋은 텍스처 압축 포맷

Unity3D 2019. 6. 10. 10:53
반응형

https://ozlael.tistory.com/84

 

ASTC : 가성비 좋은 텍스처 압축 포맷

ASTC(Adaptive Scalable Texture Compression) ASTC(Adaptive Scalable Texture Compression)는 ARM에서 개발하고 2012년에 크로노스 그룹에서 OpenGL ES에 표준으로 지정되었습니다. ASTC는 PVRTC나 ETC와 마찬가..

ozlael.tistory.com

ASTC(Adaptive Scalable Texture Compression)

 

ASTC(Adaptive Scalable Texture Compression)는 ARM에서 개발하고 2012년에 크로노스 그룹에서 OpenGL ES에 표준으로 지정되었습니다. ASTC는 PVRTC나 ETC와 마찬가지로 손실 블록 기반 텍스처 압축 알고리즘입니다.

 

ASTC는 용량과 품질에 대한 트레이드오프(Trade-off)가 가능합니다. ETC나 PVRTC는 bpp가 한정되어 있는 반면,  ASTC는 8bpp에서 0.86bpp까지 품질을 향상시킬 수 있습니다. 이러한 조절이 가능한 것은 가변 블록 크기를 사용하기 때문입니다. ETC와 PVRTC는 압축되는 블럭의 크기가 4x4로 고정되어 있습니다. 반면, ASTC는 압축되는 기준 블럭의 크기를 4x4에서 12x12 블럭으로 다양하게 선택을 할 수 있습니다. ASTC는 블럭 당 128비트를 사용합니다. 128비트를 4x4블럭에 할당하면 128/16=8bpp가 되는 것이고, 12x12 블럭에 할당하면 128/144=약0.89bpp가 되는 것입니다.

 

아래 이미지는 좌측으로부터 각각 8bpp, 3.56bpp, 2bpp의 결과를 보여주고 있습니다.

<이미지 출처 : 위키피디아 >

 

유니티에서도 텍스쳐 압축 포맷을 ASTC로 선택할 수 있고, 4x4에서 12x12까지 블록 크기를 선택할 수 있습니다.

 

텍스처의 중요도나 복잡도에 따라서 블럭의 크기를 개별적으로 선택할 수 있습니다. 예를 들어거 캐릭터의  텍스쳐같은 경우는 4x4를 선택하고,

 

파티클같이 이미지가 많이 뭉개져도 상관 없는 경우는 12x12를 선택함으로써 용량을 절약할 수 있습니다.

 

ASTC는 ETC보다 더 복잡한 인코딩 과정을 거칩니다. 그러다보니 압축 시간이 조금 더 걸리지만 결과적으로는 ETC보다는 ASTC가 일반적인 품질이 좋습니다.

< 이미지 출처 : developer.arm.com>

 

ASTC는 안드로이드폰과 iOS폰 모두에서 지원하기 때문에 같은 텍스처 압축 포맷을 사용함으로써  퀄리티와 용량에 대한 유지 보수를 한결 더 수월하게 할 수 있습니다.

 

물론, 문제는 지원 기기의 범위입니다.

 

안드로이드의 경우는 OpenGL 3.2 이상 혹은 OpenGL ES 3.1 + AEP(Android Extension Pack)이 지원되어야합니다. 삼성 갤럭시 S6 혹은 LG G5 이상의 기기들이 이에 해당합니다. 안드로이드의 경우에는 기종이 정말 다양하게 존재하기 때문에 반드시 주 타겟 기기에서 지원 여부를 직접 테스트해보아야합니다.

 

iOS는 A8 processor를 사용하기 시작하는 기종부터 사용이 가능합니다. iPhone 6, iPad mini 4가 이에 해당합니다.

 

따라서, 그 이하의 구형 기종도 지원해야하는 게임이라면 ASTC를 사용하기가 애매할 수도 있습니다. 하지만, 그렇지 않은 경우에는 ASTC를 사용하는 것이 품질과 용량을 모두 절약할 수 있는 좋은 방법이 될 수도 있습니다. 그러한 이유로 최근에 출시하는 많은 3D 게임에서 ASTC를 사용하기 시작하고 있습니다.

 

관련 참고 링크 :

https://developer.nvidia.com/astc-texture-compression-for-game-assets



출처: https://ozlael.tistory.com/84 [오즈라엘]

반응형
:

Assetbundle

Unity3D 2019. 6. 10. 10:00
반응형

에셋번들 (매뉴얼)

https://docs.unity3d.com/kr/current/Manual/AssetBundlesIntro.html

 

에셋 번들 - Unity 매뉴얼

에셋 번들(AssetBundle) 은 플랫폼 특정 에셋(모델, 텍스처, 프리팹, 오디오 클립 , 씬 전체)이 들어있는 아카이브 파일로 실행 시에 로드할 수 있습니다. 에셋 번들에는 서로 종속성을 가질 수 있는데, 예를 들어, 에셋 번들 A의 머티리얼은 에셋 번들 B의 텍스처를 참조할 수 있습니다. 효율적인 네트워크 전송을 위해 에셋 번들은 사용 요구 사항에 따라 내장된 알고리즘으로 압축할 수 있습니다(LZMA 또는 LZ4).

docs.unity3d.com

 

스트리밍 어셋 (매뉴얼)

https://docs.unity3d.com/kr/2018.1/Manual/StreamingAssets.html

 

스트리밍 에셋 - Unity 매뉴얼

대부분의 Unity 에셋은 빌드될 때 프로젝트에 합쳐집니다. 그러나 때로는 파일을 타겟 컴퓨터의 일반 파일시스템에 저장하여 경로명을 통해 액세스할 수 있도록 하는 편이 유용합니다. iOS 디바이스에 동영상 파일을 배포할 때가 바로 그러한 예입니다. PlayMovie 함수를 통해 재생하기 위해서는 오리지널 동영상 파일이 반드시 파일시스템의 어떤 위치에서 사용 가능해야 합니다.

docs.unity3d.com

에셋번들 (자습서)

https://unity3d.com/kr/learn/tutorials/topics/best-practices/guide-assetbundles-and-resources?playlist=30089

 

Assets, Resources and AssetBundles - Unity Learn

This is a series of articles that provides an in-depth discussion of Assets and resource management in the Unity engine. It seeks to provide expert developers with deep, source-level knowledge of Unity's Asset and serialization systems.

learn.unity.com

 

반응형
:

시스템 재구성

Project 2019. 6. 6. 19:44
반응형

공주를구해줘시스템.key
0.44MB

반응형

'Project' 카테고리의 다른 글

Flutter (플루터) 1일차  (0) 2021.07.12
마법사 스킬  (0) 2019.06.13
공주를 구해줘 시스템 개선  (0) 2019.06.05
[UI] 스킬목록 최종  (0) 2019.03.04
[UI] 스킬목록  (0) 2019.02.25
:

공주를 구해줘 시스템 개선

Project 2019. 6. 5. 18:50
반응형

터치에서 드레그로 개선 

 

보스전 

 

 

 

웨이브

 

 

반응형

'Project' 카테고리의 다른 글

마법사 스킬  (0) 2019.06.13
시스템 재구성  (0) 2019.06.06
[UI] 스킬목록 최종  (0) 2019.03.04
[UI] 스킬목록  (0) 2019.02.25
스킬시스템  (0) 2019.02.21
: